目次へ

2005.10.14 株式会社四次元データ 小野彩子

10.2 JAXBコンテキストとUnmarshaller

JAXBより生成されたクラスを使用してXML文書の操作を行う場合、まず、JAXBコンテキストを取得します。

        JAXBContext jc = JAXBContext.newInstance("test.jaxb");

JAXBコンテキストはJAXBContextクラスのnewInstanceメソッドで使用できます。nesInstanceメソッドの引数には、JAXBで自動生成されたクラスが格納されているパッケージの名前を指定します。パッケージ名は、クラスを生成するときに「xjc.sh」コマンドの引数に指定したものです。

次に、XML文書からインスタンスを生成する「Unmarshaller」を作成します。Unmarshallerは、JAXBContextのcreateUnmarshallerメソッドを使って作成します。

        Unmarshaller unmarshaller = jc.createUnmarshaller();

それでは、XML文書よりクラスのインスタンスを取り出しましょう。

        Employees employees =
                  (Employees) unmarshaller.unmarshal(new File(args[0]));

Unmarshallerのunmarshalメソッドを使用し、XML文書のルート要素を表すインスタンスを取得します。unmarshalの引数には、XML文書を指定します。例では、XML文書を表すFileオブジェクトを指定していますが、InputStreamなどの入力ソースでも構いません。ここでは、ルート要素「employees」を表すtest.jaxb.Employeesクラスのインスタンスを取得できます。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp