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);