JavaでXMLを操作する

JavaのプログラムからXMLを読み書きする方法を紹介します。
本節では DOM編です。

DOMって何

厳密な定義は管理人も良く分かりませんが、Javaプログラムの実用面から言うと
「XMLを丸ごと表現するクラスのインスタンス」という感じになります。
Javaでのクラス名は、org.w3c.dom.Documentです。

XMLファイルを読み込んで、DOMを作る

全てのスタートは、JavaでXMLファイルを読み込んでDOMのインスタンスを作ることから始まります。
非常に定型的なプログラムなので、1回覚えれば楽勝です。
左のメニューの「DOMを読み込む」の記事をご覧ください。

DOMを操作する

JavaではDOMに対して、「データを取り出す」「データを書き込む」の両方を行うことができます。
その手順は、いくつか方法がありますので、下の表をご覧ください。

DOMの操作方法
名称 コード量 データ取り出し データ書き込み 制限事項
javax.xml.xpath.XPath JDK5以降で使える標準関数で、簡単
ただし、制限事項が多いです
XPathで表現できる値なら、何でも取り出せます。
ただし、XPathが2箇所以上にヒットしても、最初の1個しか出力しません。
書き込みはできません。 動作はJRE5以上
Jakarta-commons JXPath 比較的簡単
依存jarを集める必要があるが、Maven2があれば問題なし。
XPathで表現できる値なら、何でも取り出せます。
XPathが2箇所以上にヒットしても、複数取り出し可能です
短い自作クラスを組み込めば、タグと属性は追加できます 動作はJRE1.4以上
org.w3c.dom.Node JDKの標準関数ですが、超面倒
ループの嵐で気が滅入ります
何でも取り出せる。
XMLコメントの内容も取り出せます。
タグ、属性、コメントなど自由に変更、追加できます。 動作はJRE1.4以上

DOMをファイルに書き出す

非常に定型的なプログラムなので、1回覚えれば楽勝です。
左のメニューの「DOMを書き出す」の記事をご覧ください。