top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Java Architecture for XML Binding(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 読み書きも可能です)これは書込のサンプルですが、読み込みも上記と同様に簡単に実施することができます。