Java - XML解析器性能:Sun Java Streaming XML Parser(SJSXP)与Woodstox

San*_*osh 5 java xml stax xml-parsing woodstox

我正在寻找最新的,内存效率和高性能的Java XML解析API.我需要解析3 MB到5 MB的XML文件.

我对此进行了谷歌搜索并了解了Sun Java Streaming XML Parser(SJSXP),而Woodstox比DOM和SAX快得多.两者都使用StAX API.*这些技术不支持架构验证.

Aalto XML处理器也实现了StAX API.

我没有找到关于这些技术的性能的具体发现.

哪一个在内存高效,高性能和易用性方面最佳?

Sta*_*Man 3

以下是一些可能相关的更多链接:

就性能而言:SJSXP是最慢的;它只是 Xerces 内部的重新封装,封装在 Stax API 中。这会对性能产生一些负面影响(因为它并不是真正为拉式解析而设计的)。Woodstox 速度稍快一些;小文档和书写速度更快,解析较长文档时差异更小。

阿尔托是三者中迄今为止最快的,尤其是在解析方面。它通常比 Woodstox 或 SJSXP 快 50% - 100%。一个缺点是它不处理 DTD(因此不处理外部实体;它处理预定义实体和字符实体)。

免责声明:我是《Woodstox》和《Aalto》的作者;以及 SJSXP 的贡献者(错误修复)