0

我一直在尝试使用 vs-code- 和 notepad++ 插件、chrome devtools 和无数在线 xPath 评估工具来评估一大块 xml 行,这些行会引发不同类型的异常,例如调用堆栈大小、范围错误、内存等,或者程序崩溃等不幸。

您建议哪种XPath 评估器工具可以毫无问题地处理大量行?

4

2 回答 2

0

工具推荐在这个网站上是题外话,但这里有一些提示: 假设平均 80 个字符/行,一个 50k 行的文件将只有 4M 字符,这在当今被认为不是很大。应避免使用任何无法处理此类大小的 XPath 工具。编辑器插件和在线工具的功能往往不如命令行工具(xmlstarlet、xmllint 等),或者甚至更好的商业工具(Saxon、oXygen 等)。最后,如果您必须处理真正的大型 XML 文件,请考虑流式解析器,例如 SAX 或 StAX,它们不必在内存数据结构中构建大小与文档大小成正比的数据结构。

于 2020-11-21T20:21:38.297 回答
0

值得一提的是,如果您count(//*)在 120Mb 输入文件上使用 Saxon 运行查询(计算元素数量),从冷启动开始,编译查询需要 270 毫秒,解析源文档需要 1.5 秒,解析源文档需要 50 毫秒评估查询(答案是 1666315)。使用热启动,执行时间可以减少到大约 20 毫秒。如今,这种尺寸并没有真正被认为特别大。尽管对于主要是编辑器的工具来说它可能很大,因为您需要更复杂的数据结构来支持编辑而不仅仅是搜索。

于 2020-11-21T23:35:31.450 回答