JAXBを使おう - サンプルから学ぶXML文書の読み書き

2009/02/09 21:22Update
TAGS: JAXB | XML | Java | バンド | XMLスキーマ | XJC

XML文書を扱うためのJAXBアーキテクチャの使い方(XMLスキーマの作成から、XMLスキーマからJavaソースの自動生成、JAXBでXMLの読み込みなど)について解説します。

Page:  <1|2|3|4>
JAXB概要、利用手順、XML文書の用意
XMLスキーマの作成
XMLスキーマからJavaソースの自動生成
JAXBでXMLの読み書き

XML文書からJavaオブジェクトにマッピングする(XMLの読み込み)ために、Apache Commons Digesterというライブラリがあります。
――――――――――――――――――――――――――――――――――――
Apache Commons Digesterを使おう - XML文書をJavaオブジェクトに(サンプル)
――――――――――――――――――――――――――――――――――――

Digesterは結構軽量なライブラリですが、XMLからJavaオブジェクトへ一方的なマッピングしかできません、すなわち、JavaオブジェクトからXMLに出力したい場合、Digesterにはできません。

そこで、JAXBというJava標準アーキテクチャがあります。

本文は、サンプルからJAXBの使い方を紹介したいと思います。

JAXB - XMLバインディングのためのJavaアーキテクチャ


■JAXBのライブラリ
JAXBを利用するのに、以下のライブラリが必要となります。
    * activation.jar
    * jaxb-api.jar
    * jaxb-impl.jar
    * jaxb-xjc.jar
    
https://jaxb.dev.java.net/からダウンロードできます。

■JAXBの利用手順
1)XML文書
2)XMLスキーマの作成(Javaソースを生成するため)
3)XMLスキーマからJavaソースの生成(JAXBが提供するツールより)
4)XML⇔Javaオブジェクト(読み書き)


1)XML文書


たとえば、Orders.xmlという処理したいXMLがあります。
Orders.xml
<orders>
 <order seq="0001" date="2007-06-12">
  <customer name="C1" />
  <goods>
   <item id="01" name="book" />
   <item id="02" name="CD" />
  </goods>
 </order>
 
 <order seq="0002" date="2007-06-12">
  <customer name="C2" />
  <goods>
   <item id="05" name="Note" />
   <item id="06" name="Pen" />
  </goods>
 </order>
 
</orders>


解説:
order要素:オーダーリスト。複数のオーダーが含まれると想定します。
order要素:オーダー。一つのオーダーを表します。
customer:顧客。
goods:商品リスト。何を注文したかを表します。顧客は一度に複数の商品(item)を注文できます。
item:商品。

Page:  <1|2|3|4>

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments