用XStream解析xml成对象

2025-03-25 00:00:10
推荐回答(1个)
回答1:

邮件是多少,我给一个实例给你
算了,先帮你解决这个吧

import java.io.FileReader;import java.util.List;import com.thoughtworks.xstream.XStream;import com.thoughtworks.xstream.annotations.XStreamAlias;import com.thoughtworks.xstream.annotations.XStreamImplicit;import com.thoughtworks.xstream.io.xml.DomDriver;public class Xstream { public static void main(String[] args){ Modules mo=Modules.getResponse(); //将xml转成对象 System.out.println(mo.getId().get(0)); //将对象转成xml System.out.println(Modules.getResponse(mo)); } @XStreamAlias("modules") public static class Modules{ @XStreamImplicit(itemFieldName="id") private List id; public List getId() { return id; } public void setId(List id) { this.id = id; } @XStreamAlias("id") public static class Id{ @XStreamAlias("id") private String id1; public String getId1() { return id1; } public void setId1(String id1) { this.id1 = id1; } } //xml转对象 public static Modules getResponse() { try { XStream xstream = new XStream(new DomDriver()); xstream.processAnnotations(Modules.class); xstream.autodetectAnnotations(true); return (Modules) xstream.fromXML(new FileReader("I:/myworkSpace/byc-test-server/src/main/java/com/byc/test/test.xml"));// return (Modules) xstream.fromXML(xml); } catch (Exception e) { // TODO Auto-generated catch block //失败 e.printStackTrace(); return null; } } //对象转xml public static String getResponse(Modules rs) { try { XStream xstream = new XStream(); xstream.processAnnotations(Modules.class); xstream.autodetectAnnotations(true); return (String) xstream.toXML(rs); } catch (Exception e) { // TODO Auto-generated catch block //失败 e.printStackTrace(); return null; } } } }直接copy就可以,xml就是你个的示例xml