我正在寻找最新的,内存效率高且高性能的Java XML解析API。
我需要解析3 MB到5 MB的XML文件。
我在Google上做了搜索,并了解了Sun Java Streaming XML Parser(SJSXP),Woodstox比DOM和SAX快得多。两者都使用StAX API。
*这些技术不支持模式验证。
Aalto XML处理器还实现了StAX API。
我尚未找到有关这些技术性能的具体发现。
在内存高效,高性能和易用性方面,哪一个最好?
最佳答案
以下是一些可能相关的链接:
关于性能:SJSXP是最慢的。它只是Xerces的内部重新包装,包装在Stax API中。这对性能有一些负面影响(因为它不是真正为拉解析设计的)。 Woodstox更快一些。小文档和书写的速度快得多,而解析较长的文档时的差异也较小。
而Aalto则是迄今为止这三者中最快的,尤其是对于解析而言。通常比Woodstox或SJSXP快50%-100%。缺点之一是它不处理DTD(因此不处理外部实体;它处理预定义和字符实体)。
免责声明:我是Woodstox和Aalto的作者;以及SJSXP的贡献者(错误修复)