JAXB是一套自动映射XML和Java实例的开发接口和工具。本文将对象保存成xml各式的文件。
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Customer {
private long id;
private String name;
@XmlAttribute
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class Demo {
/**
* @param args
* @throws JAXBException
*/
public static void main(String[] args) throws JAXBException {
// TODO Auto-generated method stub
JAXBContext jc =
JAXBContext.newInstance(Customer.class);
Customer customer = new Customer();
customer.setId(123);
customer.setName("西安刘利新");
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.setProperty(Marshaller.JAXB_ENCODING, "GBK");
m.marshal(customer, System.out);
}
}
输出:
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<customer id="123">
<name>西安刘利新</name>
</customer>