1. 程式人生 > >如何將Java物件轉換為xml結構

如何將Java物件轉換為xml結構

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