top / index / prev / next / target / source

2009-12-12 diary: Java: JAXB を用いたシンプルな Java → XML 変換サンプル

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

old-v2

Java: JAXB を用いたシンプルな Java → XML 変換サンプル

Java Architecture for XML Binding(JAXB)を用いると、簡単に Java オブジェクトと XML ファイルとを結び付けることができることがわかりました。

Java: JAXB を用いたシンプルな Java → XML 変換サンプル

Java Architecture for XML Binding(JAXB)を用いると、簡単に Java オブジェクトと XML ファイルとを結び付けることができることがわかりました。きっかけがなく、今のいままで、JAXB を直接に利用したことがありませんでした。実際に使ってみて、これは便利だなぁと思いました。 JaxbSample.java

import java.io.File;
import java.util.Date;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class JaxbSample {
    public String field1 = "あいうえお";
    public int field2 = 12345;
    public Date field3 = new Date();

    public static void main(final String[] args) throws Exception {
        final JAXBContext context = JAXBContext.newInstance(JaxbSample.class);

        final JaxbSample bean = new JaxbSample();

        final Marshaller marshaller = context.createMarshaller();
        marshaller.marshal(bean, new File("sample.xml"));
    }
}

実行すると以下のような XML ファイルが生成されます。(インデントは私が調整しました) 生成される XML

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <jaxbSample>
  <field1>あいうえお</field1> 
  <field2>12345</field2> 
  <field3>2009-12-12T09:54:15.916+09:00</field3> </jaxbSample>

XML スキーマなどを利用せずに、XML ファイルに書き込みできるのが良いところです。アノテーションは必要です。 (むろん、XML スキーマを準備した XML 読み書きも可能です)これは書込のサンプルですが、読み込みも上記と同様に簡単に実施することができます。


この日記について