それはともかく、今日もJava弄り。

JavaXMLをパースするには、DOMとかSAXって技術が良く使われているらしい。
適当に調べてみた感じだと、DOMはメモリ上にXMLの文書構造を完全に保持して、各要素にオブジェクトとしてアクセスできる。一方SAXは、XMLをテキスト文書として頭から順次パースして行くだけ。メモリ上に構造やデータを保持しないから、省メモリで高速なのだが、「XML文書を操作する」と云う用途には向かない。文書構造を保持しようと思ったら、パースして取得したデータを逐次保持する処理を自分で書く必要がある。ぶっちゃけ、前述のDOMも、XML読み込み時のパースにはSAXを使ってたりする。って感じかな?


んで、そのSAXと似た技術で、StAXと云う物がJava6で採用されたらしい。DOMもSAXも触ったことないけど、折角だからこのStAXで各種処理を実装してみた。
データへのアクセスが特殊な感じで、独特の実装が必要になるが*1、場当たり的にコーディングしていけるから、それなりに便利ではあるなー。

*1:SAXの方がもっと独特な実装になりそうだが。