哪种XPath工具可以处理大量(50k以上)的xml行



我一直在尝试与代码和记事本++插件、chrome devtools和无数在线xPath评估工具进行比较,以评估大量xml行,这些行抛出了不同类型的异常,如调用堆栈大小、rangerror、内存等,或者程序崩溃和其他不幸。

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

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

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

最新更新