続き StAX – Java SE 6

引き続きStAX。
次はCursor APIでXMLの書き出しをしてみます。

出力結果:

XMLデータの書き出しに使用する XMLStreamWriter インタフェースのインスタンスを得るには、javax.xml.stream.XMLOutputFactory クラスの createXMLStreamWriter メソッドを使用します。XMLStreamWriter には名前空間の宣言をはじめ、DTD やコメントなど XML を構築するために必要なメソッドが含まれています。

処理手順は、まずXMLOutputFactoryインスタンスを取得。
factory.setProperty の部分では出力する XML に名前空間の宣言(「xmlns:rt=”https://rest-term.com”」)を含めるようにプロパティを設定。
createXMLStreamWriter メソッドで XMLStreamWriter インスタンスを作成したら、残りの部分では、作成した XMLStreamWriter のメソッド(writeStartDocument や writeAttribute など)で XML データを出力しています。
このようにしてStAXではXMLを書き出すことができます。

また、Event Iterator APIのCursor APIとの違いは、パースした要素は int 型のイベントタイプではなく javax.xml.stream.events.XMLEvent オブジェクトになる所です。

詳細は省略;;

StAX はイテレータのようなインタフェースによって XML の読み書きを行います。
DOM のように大量のメモリを消費することなく、また、XMLドキュメントの内、使用するのは一部だけで他の部分は不要などという場合、パース処理をループで制御できる所が便利です。

とりあえず、StAXの簡単な使い方だけ勉強しました。
Java SE 7に向けて、少しずつ復習・予習をしていこうと思います。

あわせて読む:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です