java中把对象转成xml(用JDK实现)

java中把对象转化成xml文件有多种方式,借助dom4j可以转,序列化成xml也可以,借助simpleframework框架中一些工具类也可以简单的把对象序列成xml文件,感兴趣的程序猿们可以网上搜搜具体方法实现,下边我们看看用JDK(1.5)中的工具如何实现把一个对象转成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文件了,里边的内容就是我们打印的内容!





你可能感兴趣的:(java转xml,转成xml文件,java对象转化成xml,java中的对象,java对象变成xml)