实体类:
package com.test;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name="Student")
@XmlType(propOrder = {"id","name", "age", "sex", "classes"})
public class Student {
private int id=10021;
private String name="张三";
private String age="18";
private String sex="男";
private String classes="三年级";
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClasses() {
return classes;
}
public void setClasses(String classes) {
this.classes = classes;
}
}
测试方法
public static void main(String[] args) {
Writer writer=null;
String xml ;
Student stu=new Student();
try {
JAXBContext context = JAXBContext.newInstance(stu.getClass());
Marshaller marshaller = context.createMarshaller();
// 编码格式
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
// 是否格式化生成的xml串
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// 是否省略xml头信息
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
writer = new StringWriter();
marshaller.marshal(stu, writer);
xml = writer.toString();
System.out.println(xml);
writer.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
输出结果:
<Student>
<id>10021</id>
<name>张三</name>
<age>18</age>
<sex>男</sex>
<classes>三年级</classes>
</Student>