1.在实体类上加@XmlRootElement注解
@XmlRootElement(name = "ROOT") //代表根标签
2.在对应的set方法上加
@XmlElement(name = "TRANS_CODE") //代表相应的标签
@XmlRootElement(name = "ROOT")
@Document(collation = "User")
public class User implements Serializable {
@MongoId
private String id;
private String TRANS_CODE; //交易码 1
private String REQ_SSN; //发起方流水号 1
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTRANS_CODE() {
return TRANS_CODE;
}
@XmlElement(name = "TRANS_CODE")
public void setTRANS_CODE(String TRANS_CODE) {
this.TRANS_CODE = TRANS_CODE;
}
public String getREQ_SSN() {
return REQ_SSN;
}
@XmlElement(name = "REQ_SSN")
public void setREQ_SSN(String REQ_SSN) {
this.REQ_SSN = REQ_SSN;
}
3.1建立测试类进行测试 将java对象转成xml形式输出
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
public class Test {
/**
* 将java对象转xml形式输出
*/
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
JAXBContext jbt = JAXBContext.newInstance(ClassRoom.class);
ClassRoom cr = new ClassRoom(1, "一班", new Student(10, "张三", 22));
Marshaller ms = jbt.createMarshaller();
ms.marshal(cr, System.out);
}
}
3.2 将xml转成java对象 (主要代码如下)
String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><classRoom><classRoomId>1</classRoomId><classRoomName>一班</classRoomName><student><age>22</age><id>10</id><name>张三</name></student></classRoom>"; JAXBContext unjbt = JAXBContext.newInstance(ClassRoom.class); Unmarshaller unms = unjbt.createUnmarshaller(); ClassRoom uncr =(ClassRoom) unms.unmarshal(new StringReader(xml)); System.out.println(uncr.getClassRoomId()+uncr.getClassRoomName());