`
jetway
  • 浏览: 474464 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

XStream简单应用实例

    博客分类:
  • java
阅读更多

 

 
XStream简单应用实例
 
 

首先到http://xstream.codehaus.org下载XStream的最新版本,到目前为止的最新版本为<chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on"></chsdate>1.1.2,主要改变为提供了一些JDK1.5enum类型支持。下载后,解压,将xstream-1.1.2.jarxpp3_min-1.1.3.4.I.jar复制到项目的lib中,此时就可以使用XStream了。Xpp3XStream提供的一个很有效率的XML pull-parser实现,推荐使用,可以提高解析的效率。

 

一、首先,创建要转换的Java类:

public class Person {

  private String firstname;

  private String lastname;

  private PhoneNumber phone;

  private PhoneNumber fax;

  // ... constructors and methods

}

 

public class PhoneNumber {

  private int code;

  private String number;

  // ... constructors and methods

}

注意:这里定义的属性都为privateXStream不限制你的属性的可见性,默认所有属性都会进行转换;XStream不要求你必须要有settergetter方法,也不要求你要有一个默认的类构造方法。

 

二、初始化XStream

使用以下的语句进行初始化:

XStream xstream = new XStream();

默认采用Xpp3库,如果你不想使用Xpp3这个库,你也可以使用一个标准的JAXP DOM解析器,可以采用以下语句进行初始化:

XStream xstream = new XStream(new DOMDriver());  //不需要Xpp3

xstream实例,为线程安全的,可以供多个线程进行调用,共享使用。

 

三、注册要转换的类的别名

初始化XStream后,我们要将要转换的类注册到xstream中,告诉XStream,有哪些类要进行XML转换,注册采用以下的语句:

xstream.alias(“person”, Person.class);

xstream.alias(“phonenumber”, PhoneNumber.class);

当然,这一步不是必须的,如果不进行注册的话,XStream默认会在转换时,将对应类全限定名也加入XML文件中,如com.test.Person,这如果在数据量大的时候,会使生成的XML文件增大不少。

 

四、将对象序列化为XML

到这一步,我们就可以将一个Java对象序列化为一个XML文件了,我们先声明一个Person对象,然后加入两条电话号码对象:

Person person = new Person("Chen", "Tao");

joe.setPhone(new PhoneNumber(123, "1234-456");

joe.setFax(new PhoneNumber(123, "9999-999");

接下来,我们将此Person对象转换为XML字符串:

String xml = xstream.toXML(person);

生成的XML字符串为:

<person></person>

<<person>

  <firstname>Chen</firstname>

  <lastname>Tao</lastname>

  <phone>

    <code>123</code>

    <number>1234-456</number>

  </phone>

  <fax>

    <code>123</code>

    <number>9999-999</number>

  </fax>

</person>>

 

就这么简单,什么映射文件都不用写,默认XStream已经帮我们做好了。

 

五、从XML反序列化出对象

而从一个XML文件中反序列出一个对象也同样非常简单,我们看一下下面的代码:

Person newPerson = (Person) xstream.fromXML(xml);

 

 

 

 

 

 

 

 

 

 

 

 

 
 

 

发表于: 2006-11-15,修改于: 2006-11-15 11:44,已浏览290次,有评论0条 推荐 投诉
 
 


分享到:
评论

相关推荐

    XStream简单应用实例(xml)

    使用XStream 把 Java 对象序列化为 XML~~~~~~~~~~~~~~~~~

    XStream使用方法总结附实例代码

    创建XSteam对象的方式很简单,只需要new XStream()即可。 Java到xml,用toXML()方法。 Xml到Java,用fromXML()方法。 在没有任何设置默认情况下,java到xml的映射,是java成员名对应xml的元素名,java类的全名对应...

    SSH2 整合简单增删改查实例,仅供学习使用

    SSH2 整合开发,实现简单的增删改查,使用数据库mysql ,附带Google的Gson和Xstream 开发,ajax,简单易懂,仅供学习使用

    Spring3.x企业应用开发实战(完整版) part1

    《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用...

    Spring.3.x企业应用开发实战(完整版).part2

    《Spring3.x企业应用开发实战》是在《精通Spring2.x——企业应用开发详解》的基础上,经过历时一年的重大调整改版而成的,本书延续了上一版本追求深度,注重原理,不停留在技术表面的写作风格,力求使读者在熟练使用...

    java类与xml之间相互转换实例

    使用xstream技术进行类与xml相互转换,简单的应用,快速上手。

    struts2的rest风格插件实例

    由于 Struts 2 的 REST 插件还需要将提供 XML、JSON 格式的数据,因此还需要将 xstream-1.2.2.jar、json-lib-2.1.jar、ezmorph-1.0.3.jar 以及 Jakarta-Common 相关 JAR 包复制到 Web 应用的 WEB-INF/lib 路径下。...

    Android典型技术模块开发详解

    第四篇 Android应用开发案例 第13章 Ksoap2 13.1 SOAP协议 13.1.1 请求 13.1.2 响应 13.2 WSDL介绍 13.3 Ksoap2应用——天气预报 13.4 Ksoap2参数类型 13.4.1 CXF框架的Web Service 13.4.2 Android端开发 13.5 Base...

    Hedgehog-开源

    Hedgehog是用于简单分布式计算的Java库。 您的代码实例化服务器,发布作业,并在客户端返回结果时得到通知。 客户不必具有工作类别。 刺猬使用JmDNS,XStream,XML-RPC和Jetty。

Global site tag (gtag.js) - Google Analytics