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文件了,里边的内容就是我们打印的内容!