jar包的依赖:
* 核心JAR包:xstream-1.4.7.jar
* 必须依赖包:xpp3_min-1.1.4c
1.将对象转化为xml
1.1编写类:
class Person implements Serializable {
private String name ;
private Integer age;
private String gender;
private Address add;
private List<Address> address;
//此处省略get set方法
}
class Address implements Serializable {
private String province;
private String city;
private String area;
//此处省略get set方法
}
1.2 测试代码
1.2.1构造数据
Person p = new Person();
p.setAge(12);
p.setGender("男");
p.setName("张三");
List<Address> list = new ArrayList<Address>();
Address address1 = new Address();
address1.setArea("犀浦镇");
address1.setCity("成都市");
address1.setProvince("四川省");
Address address2 = new Address();
address2.setArea("红光镇");
address2.setCity("成都市");
address2.setProvince("四川省");
list.add(address1);
list.add(address2);
p.setAddress(list);
1.2.2使用XStream 将对象转化为xml
XStream xStream = new XStream();
xStream.alias("person", Person.class);
xStream.alias("address", Address.class);
String xml = xStream.toXML(p);//将对象转化为xml
System.out.println(xml);
1.3 结果输出
<person>
<name>张三</name>
<age>12</age>
<gender>男</gender>
<address>
<address>
<province>四川省</province>
<city>成都市</city>
<area>犀浦镇</area>
</address>
<address>
<province>四川省</province>
<city>成都市</city>
<area>红光镇</area>
</address>
</address>
</person>
其中多出了<address> 可以使用xStream.addImplicitCollection(Person.class,"address")方法去除
打印结果为:
<person>
<name>张三</name>
<age>12</age>
<gender>男</gender>
<address>
<province>四川省</province>
<city>成都市</city>
<area>犀浦镇</area>
</address>
<address>
<province>四川省</province>
<city>成都市</city>
<area>红光镇</area>
</address>
</person>
2.将xml转化为对象
1.xml字符串:
<person>
<name>张三</name>
<age>12</age>
<gender>男</gender>
<address>
<province>四川省</province>
<city>成都市</city>
<area>犀浦镇</area>
</address>
<address>
<province>四川省</province>
<city>成都市</city>
<area>红光镇</area>
</address>
</person>
2.使用XStream将xml转化为对象
XStream xStream = new XStream();
xStream.alias("person", Person.class);
xStream.alias("address", Address.class);
xStream.addImplicitCollection(Person.class,"address");
Person person = (Person) xStream.fromXML(xml);//将xml转化为对象
XStream xml与对象的相互转化
最新推荐文章于 2025-06-11 16:34:55 发布