XML解析の基本!Javaで要素や属性を取得する方法

システム開発やデータ連携の現場では、設定ファイルやAPIレスポンスなどでXML形式のデータを扱う機会が多くあります。
この記事では、Javaを使ってXMLを解析し、要素(タグ内の値)や属性を取得する基本的な方法を解説します。


XML解析の代表的な方法

JavaではXMLを解析するために、いくつかのAPIが用意されています。

解析方法特徴
DOM(Document Object Model)メモリ上にXML全体を読み込み、ツリー構造で扱う。小規模ファイル向き。
SAX(Simple API for XML)イベント駆動型で順次読み込む。大規模ファイル向き。
StAX(Streaming API for XML)ストリーム処理を行いながら解析。SAXより柔軟。

今回は最も基本的なDOMパーサを使用します。


DOMパーサでXMLを解析する手順

以下のサンプルXMLを例にします。


Javaサンプルコード 


実行結果


ポイント解説

  • DocumentBuilderFactory:XML解析のためのインスタンスを生成

  • getDocumentElement():ルート要素を取得

  • getElementsByTagName():指定タグのノードリストを取得

  • getAttribute():要素の属性値を取得

  • getTextContent():タグ内のテキスト値を取得


よくあるエラー例

エラー内容原因と対処法
FileNotFoundExceptionXMLファイルのパスが誤っている。絶対パスまたは相対パスを確認。
SAXParseExceptionXML構文が正しくない(タグの閉じ忘れやエンコーディング不一致など)。
NullPointerException該当タグが存在しない場合にitem(0)でNullを参照している。要素の存在チェックを追加する。

まとめ

  • XML解析ではDOM・SAX・StAXなどの手法がある。

  • 小規模なXMLではDOMパーサが使いやすい。

  • ElementNodeListを通じて要素・属性を自由に操作できる。

JavaでXMLを扱う基本を押さえておくと、設定ファイルや外部システム連携処理をスムーズに開発できます。

コメントを残す

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

email confirm*

post date*