views:

1178

answers:

6

My quick search reveals the reference implementation (http://stax.codehaus.org), the Woodstox implementation (http://woodstox.codehaus.org), and Sun's SJSXP implementation (https://sjsxp.dev.java.net/).

Please comment on the relative merits of these, and fill me in on any other implementations I should consider.

+3  A: 

Interesting to note that:

SJSXP performance is consistently faster than BEA, Oracle and RI for all
of the documents described here in this study. However, it lags behind
Woodstox and XPP3 in some document sizes and in the best cases, exhibits
similar performance compared to these two parsers.

Article from Sun

Prakash
A: 

http://javolution.org/ has a good StAX implementation

Javamann
javolution is not strictly a StAX implementation, it's StAX-like, but the APIs are different
ykaganovich
+6  A: 

Woodstox wins every time for me. It's not just performance, either - sjsxp is twitchy and overly pedantic, woodstox just gets on with it.

skaffman
A: 

jason heinz has the best I've seen

A: 

You're damn right, Colin.

A: 

Comment on Javolution: No it's not Stax implementation. It does implement an API similar to Stax, but because of Javolution's avoidance of Strings etc, it can not be source compatible.

Either way, their implementation is not particularly good -- it's not faster, and it is less fully-featured, doesn't detect xml problems (like duplicate attributes), won't process entities or such. So I don't see much reason using it, unless you use Javolution classes for everything.