第三のXMLパーサ StAX

http://www.javainthebox.net/laboratory/JavaSE6/stax/stax.html


そういえば、ちょっとまえに目にして気になっていたけど、すっかり忘れてた(汗


DOM じゃイヤ、でも SAX は扱いづらい・・・という時にぴったしです。
設定ファイルから、定義情報を保持するオブジェクトを生成するような場合にかなり便利そうですね。
SAX だと、ハンドラのメソッド内で処理を行うことになります。


このため、定義情報のオブジェクトを生成するような場合に、オブジェクト生成部分の本筋と、SAX ハンドラのメソッド内とで、変数のスコープが違ってしまい、ちょっと扱いづらかったのです。*1


そこで、StAX です。イテレータでぐるぐる回して処理が行えます。
なので、順次読み出してはオブジェクト生成するという処理を同じスコープ内、あるいは同一のクラスや直接関連しているクラスで行えます。


と、ここまで書いといてなんですが、パーサを直接使う場合は便利になるかなという感じです。
SAXとかよりも高レベルの API で使い勝手のよさげなものが欲しいです。*2
設定ファイルのいらない、ルールベースなものをキボン。アノテーションも組み合わせて使えばほぼ困らない気がします。

*1:だから、メモリ無駄だなぁとおもいつつ、DOM ってることが多かったです。もっとも最近は、Jakarta Commons の Digester 使ってるかも。

*2:Digester も設定情報を組み立てるのが面倒なので・・・