JAvaでオブジェクトをxmlに変換(JDKで実現)


JAvaでオブジェクトをxmlファイルに変換するには様々な方法があります.dom 4 jを利用して、xmlにシーケンス化してもいいです.simpleframeworkフレームワークのツールクラスを利用して、簡単にオブジェクトをxmlファイルにシーケンスすることができます.興味のあるプログラム猿たちはネット上で具体的な方法を探して実現することができます.次はJDK(1.5)のツールでどのように1つのオブジェクトをxml形式に変換するかを見てみましょう. 
package javatoxml;

import java.io.StringWriter;

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

@XmlRootElement(name = "JDKtoXml")
public class ToXmlWidthJDK {
    private int id;
    private String name;

    public int getId() {	//   ,  xml        
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {	//   ,  xml        
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public static void main(String[] args){

        ToXmlWidthJDK tx = new ToXmlWidthJDK();
        tx.setId(24);
        tx.setName("chenleixing");
        StringWriter sw = new StringWriter();
        JAXBContext jbc=null;
        Marshaller mar=null;
		try {
			jbc = JAXBContext.newInstance(tx.getClass());	//      xml     
			mar = jbc.createMarshaller();
			mar.marshal(tx, sw);
		} catch (JAXBException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        System.out.println("     xml      :"+sw.toString());
    }
}

出力結果:
     xml      :<?xml version="1.0" encoding="UTF-8" standalone="yes"?><JDKtoXml><id>24</id><name>chenleixing</name></JDKtoXml>

xmlファイルに変換すると、次のようになります.
 File f=new File("c:\\");
        if(!f.exists()){
        	f.mkdirs();
        }
        try {
			mar.marshal(tx,new File(f,"ceshi.xml"));
		} catch (JAXBException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

これで対応するxmlファイルが生成され、中身は私たちが印刷した内容です!