18

我的快速搜索显示了参考实现 ( http://stax.codehaus.org )、Woodstox 实现 ( http://woodstox.codehaus.org ) 和 Sun 的 SJSXP 实现 ( https://sjsxp.dev.java.net /)。

请评论这些的相对优点,并填写我应该考虑的任何其他实现。

4

4 回答 4

16

伍德斯托克斯每次都为我赢。这也不仅仅是性能 - sjsxp 很古怪而且过于迂腐,woodstox 只是继续使用它。

于 2008-09-23T17:00:13.183 回答
5

有趣的是:

对于本研究中描述的所有文档,SJSXP 的性能始终高于 BEA、Oracle 和 RI。但是,它在某些文档大小上落后于 Woodstox 和 XPP3,并且在最好的情况下,与这两个解析器相比表现出相似的性能。

Sun 的文章:XML 解析器的流式 API

于 2008-09-23T14:24:10.780 回答
1

http://javolution.org/有一个很好的 StAX 实现

于 2008-09-23T14:47:11.537 回答
1

对 Javolution 的评论:不,这不是 Stax 实现。它确实实现了一个类似于 Stax 的 API,但由于 Javolution 避免使用字符串等,它不能与源代码兼容。

无论哪种方式,它们的实现都不是特别好 - 它不是更快,而且功能不太全面,不检测 xml 问题(如重复属性),不会处理实体等。所以我看不出有太多使用它的理由,除非你对所有东西都使用 Javolution 类。

于 2009-01-08T03:58:57.320 回答