如何將Java物件轉換為xml結構
阿新 • • 發佈:2018-12-20
1、引入相關jar包
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.3</version>
</dependency>
2、編寫Java物件實體類,加入註解
@XStreamAlias("xml") public class XmlDto { private String name; private String age; private String score; 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 getScore() { return score; } public void setScore(String score) { this.score = score; } }
3.轉換xml字串
XStream xStream = new XStream(new DomDriver(null, new XmlFriendlyNameCoder("_-", "_"))); xStream.processAnnotations(XmlDto.class); XmlDto xmlDto=new XmlDto(); xmlDto.setAge("27"); xmlDto.setName("shen"); xmlDto.setScore("100"); String xmlDtoStr = xStream.toXML(xmlDto); System.out.println("xmlDtoStr>>>>>>> \n"+xmlDtoStr);
4.物件中引用其他物件如何轉換成xml結構
@XStreamAlias("xml") public class XmlDto { private String name; private String age; private String score; private XmlChild xmlChild; 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 getScore() { return score; } public void setScore(String score) { this.score = score; } public XmlChild getXmlChild() { return xmlChild; } public void setXmlChild(XmlChild xmlChild) { this.xmlChild = xmlChild; } } @XStreamAlias("xml") public class XmlChild { private String sonName; private String sonAge; public String getSonName() { return sonName; } public void setSonName(String sonName) { this.sonName = sonName; } public String getSonAge() { return sonAge; } public void setSonAge(String sonAge) { this.sonAge = sonAge; }
}
XStream xStream = new XStream(new DomDriver(null, new XmlFriendlyNameCoder("_-", "_")));
xStream.processAnnotations(XmlDto.class);
XmlDto xmlDto=new XmlDto();
xmlDto.setAge("27");
xmlDto.setName("shen");
xmlDto.setScore("100");
XmlChild xmlChild=new XmlChild();
xmlChild.setSonAge("85");
xmlChild.setSonName("hh");
xmlDto.setXmlChild(xmlChild);
String xmlDtoStr = xStream.toXML(xmlDto);
System.out.println("xmlDtoStr>>>>>>> \n"+xmlDtoStr);