是否有适用于SAX型号的XPath处理器? [英] Is there any XPath processor for SAX model?
问题描述
我正在寻找一个XPath评估器,它不会重建整个DOM文档来查找文档的节点:实际上该对象是使用SAX模型管理大量XML数据(理想情况下超过2Gb),这对内存管理非常有用,并且可以搜索节点。
I'm looking for an XPath evaluator that doesn't rebuild the whole DOM document to look for the nodes of a document: actually the object is to manage a large amount of XML data (ideally over 2Gb) with SAX model, which is very good for memory management, and give the possibility to search for nodes.
谢谢大家的支持!
对于那些说不可能的人:我最近在问到这个问题之后,发现了一个名为saxpath的项目( http://www.saxpath.org/ ),但我找不到任何实施项目。
For all those who say it's not possible: I recently, after asked the question, found a project named "saxpath" (http://www.saxpath.org/), but I can't find any implementing project.
推荐答案
我当前的列表(根据网络搜索结果和其他答案编译)是:
My current list (compiled from web search results and the other answers) is:
- http://code.google.com/p/xpath4sax/
- http://spex.sourceforge.net/
- https://github.com/santhosh-tekuri/jlibs/wiki/XMLDog (还包含一个表演图表)
- http://www.cs.umd .edu / projects / xsq / (大学项目,10年后死亡,GPL)
- MIT许可方法 http://softwareengineeringcorner.blogspot.com/2012/01/conveniently-processing-large-xml-files.html
- 支持快速XPath的其他解析器/内存模型:
- http://vtd-xml.sourceforge.net/ (世界上最快的XPath 1.0实现。)
- http://jaxen.codehaus.org/ (包含 http://www.saxpath.org/ )
- http:// www .saxonica.com / documentation / sourcedocs / streaming / streamable-xpath.html
- http://code.google.com/p/xpath4sax/
- http://spex.sourceforge.net/
- https://github.com/santhosh-tekuri/jlibs/wiki/XMLDog (also contains a performance chart)
- http://www.cs.umd.edu/projects/xsq/ (uniersity project, dead since 10 years, GPL)
- MIT-Licensed approach http://softwareengineeringcorner.blogspot.com/2012/01/conveniently-processing-large-xml-files.html
- Other parsers/memory models supporting fast XPath:
- http://vtd-xml.sourceforge.net/ ("The world's fastest XPath 1.0 implementation.")
- http://jaxen.codehaus.org/ (contains http://www.saxpath.org/)
- http://www.saxonica.com/documentation/sourcedocs/streaming/streamable-xpath.html
下一步是使用XMLDog的示例并比较所有这些方法的性能。然后,测试用例应扩展到支持的XPath表达式。
The next step is to use the examples of XMLDog and compare the performance of all these approaches. Then, the test cases should be extended to the supported XPath expressions.
这篇关于是否有适用于SAX型号的XPath处理器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!