浏览 5082 次
锁定老帖子 主题:XStream的学习
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-09
最后修改:2008-11-18
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确实很方便 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-25
将一个列表对象序列化进一个xml文件,没有问题,但是,要把它再反序列化出来,有什么好的办法,我看网上都是反序列化一个对象的写法,对于一个xml文件中含有多个的,却没有,这样的应该如何呢?
将列表序列化后xml文件如下: <list> <com.wck.study.xmlTest.XStreamTest.Employee> <name>Jack</name> <designation>Manager</designation> <department>Finance</department> </com.wck.study.xmlTest.XStreamTest.Employee> <com.wck.study.xmlTest.XStreamTest.Employee> <name>王飞0</name> <designation>你好!大家好。0</designation> <department>Finance0</department> </com.wck.study.xmlTest.XStreamTest.Employee> <com.wck.study.xmlTest.XStreamTest.Employee> <name>王飞1</name> <designation>你好!大家好。1</designation> <department>Finance1</department> </com.wck.study.xmlTest.XStreamTest.Employee> <com.wck.study.xmlTest.XStreamTest.Employee> <name>王飞2</name> <designation>你好!大家好。2</designation> <department>Finance2</department> </com.wck.study.xmlTest.XStreamTest.Employee> <com.wck.study.xmlTest.XStreamTest.Employee> <name>王飞3</name> <designation>你好!大家好。3</designation> <department>Finance3</department> </com.wck.study.xmlTest.XStreamTest.Employee> </list> 这样的怎么序列化为一个对象列表? |
|
返回顶楼 | |