【发布时间】:2017-06-19 19:22:40
【问题描述】:
我正在使用 xquery 来查询大型 xml 文档。使用xquery doc函数会不会导致内存堆出站? 如何在java中使用xquery来查询一个大的xml文件。 以示例进行说明。
【问题讨论】:
-
大型 XML 文件不适合 XQuery。更好的选择是通过 SAX 解析器流式传输 XML 文件,以选择性地搜索对象。性能方面,使用 SAX 可以在几秒钟内导航和更新一个 300MB 的文件。
-
如果查询足够简单,可以使用 SAX 处理,那么它可能适合使用流式 XQuery 处理器进行处理,这将同样快,因为性能主要由 XML 解析决定。好处是 XQuery 解决方案将是 3 行代码,而不是 SAX 解决方案的 300 行代码。