xml可以用来标记数据,定义数据类型,可以允许用户对自己标记语言进行定义,xml可以用于web传输中数据的交换语言格式,独立于应用程序和供应商的结构化数据,和json一样独立于平台。
将java对象序列化为xml格式部分关键代码如下:
Person person = new Person();
person.setName("zhangsan");
person.setBirth(new Date());
person.setAge(18);
//将person对象序列化为xml
XStream xStream = new XStream(new DomDriver());
//设置person类的别名
xStream.alias("person", Person.class);
String xml = xStream.toXML(person);
System.out.println(xml);
打印结果如下:
<person>
<name>zhangsan</name>
<age>18</age>
<birth>2017-09-02 08:07:26.683 UTC</birth>
</person>
需要引入maven依赖:
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.9</version>
</dependency>
通过XStream 对象的toXML()方法将person对象序列化为xml格式文本。
同样通过该工具可以轻易将xml反序列化为java对象
代码如下:
//将xml反序列化为person对象
Person fromXML = (Person) xStream.fromXML(xml);
只需要传入xml文本,通过XStream 对象提供的fromXML()方法即可将xml文本反序列化为person对象。