XML Stream
XMLストリーム解析(SAX/StAX)は、DOMツリーを構築せずにイベント駆動で要素ごとにXMLを処理し、大きなXMLファイルに対応する。
目的
メモリが制限される場面や大きな文書で、文書全体を読み込まずにイベントコールバックで要素を処理する。
メカニズム
SAXではパーサーがstartElement/endElement/charactersイベントを発火し、ハンドラーがコールバックで応答する。StAXはプルモデルで、アプリケーションがnext()を必要に応じて呼ぶ。ツリーを構築しないためメモリは一定である。
ユースケース
- 大きなXMLファイルの解析
- SAXのイベント処理
- SOAPメッセージのストリーミング