XStream用途:可以将Java对象序列化成xml,反过来也可以将xml文件反序列化成java对象
XStream使用过程:
1、从http://xstream.codehaus.org/download.html下载最新版本的Xstream(当前为1.3版本);
2、这里定义了一些简单的类
public class Person{
private String name;
private String sex;
private int age;
private PhoneNumber phone;
//...constructors and methods
}
public class PhoneNumber{
private String code;
private String number;
//...constructors and methods
}
注意:字段为private ,可以不用定义setters和getters,XStream对定义构造函数没有限制
3、初始化XStream
import com.thoughtworks.xstream.*;
XStream xstream = new XStream();
此时你如果将xstream-[version]。jar和xpp3-[version]的路径添加到classpath中,这该xstream将会使用xpp3作为解析器,xpp3是最快的
xml解析器,如果不想对xpp3有产生依赖,可以使用使用标准的JAXP DOM 解析器代替。
此时要import com.thoughtworks.xstream.io.XML.DomDriver;
可修改为XStream xstream = new XStream(new DomDriver());
4、序列化对象成XML
Person person =new Person("XP","male",29);//自己定义的构造函数
person.setPhoneNumber(new PhoneNumber("027","88386666"));
现在就可以将person转为XML,只要调用
String xml = xstream.toXML(person);
结果文档是这样的:
<person>
<name>XP</name>
<sex>male</sex>
<age>29</age>
<phone>
<code>027</code>
<number>88386666</number>
</phone>
</person>
5、从XML反序列化成java对象
可以这样写:
Person newPerson = (Person)xstream.fromXML(xml);(xml为XML文件的路径);
ok!使用XStream确实很方便
XStream使用过程:
1、从http://xstream.codehaus.org/download.html下载最新版本的Xstream(当前为1.3版本);
2、这里定义了一些简单的类
public class Person{
private String name;
private String sex;
private int age;
private PhoneNumber phone;
//...constructors and methods
}
public class PhoneNumber{
private String code;
private String number;
//...constructors and methods
}
注意:字段为private ,可以不用定义setters和getters,XStream对定义构造函数没有限制
3、初始化XStream
import com.thoughtworks.xstream.*;
XStream xstream = new XStream();
此时你如果将xstream-[version]。jar和xpp3-[version]的路径添加到classpath中,这该xstream将会使用xpp3作为解析器,xpp3是最快的
xml解析器,如果不想对xpp3有产生依赖,可以使用使用标准的JAXP DOM 解析器代替。
此时要import com.thoughtworks.xstream.io.XML.DomDriver;
可修改为XStream xstream = new XStream(new DomDriver());
4、序列化对象成XML
Person person =new Person("XP","male",29);//自己定义的构造函数
person.setPhoneNumber(new PhoneNumber("027","88386666"));
现在就可以将person转为XML,只要调用
String xml = xstream.toXML(person);
结果文档是这样的:
<person>
<name>XP</name>
<sex>male</sex>
<age>29</age>
<phone>
<code>027</code>
<number>88386666</number>
</phone>
</person>
5、从XML反序列化成java对象
可以这样写:
Person newPerson = (Person)xstream.fromXML(xml);(xml为XML文件的路径);
ok!使用XStream确实很方便