`
xusaomaiss
  • 浏览: 615596 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

XStream两分钟教程(译)

    博客分类:
  • java
阅读更多

这是一个关于XStream快速的介绍。快速浏览一下你会马上知道把一个对象转换到XML或是转换回来是多么的简单。你肯定会碰到下面的问题。

 

创建能够序列化的类

  这是一组简单的类。XStream能把这些类的实例转换到XML或是转换回来。

 

public   class  Person { 

 
private  String firstName;
 
private  String lastName;
 
private  PhoneNumber phonex;
 
private  PhoneNumber fax;
// 构造函数或是其他方法 


public   class  PhoneNumber { 

 
private   int  code;
 
private   int  number; 

// 构造函数或是其他方法
}

 

  :注意到这些都是私有变量。XStream不关心变量的作用域。不需要getter或是setter方法。并且,XStream不限定需要默认的构造函数。

 

实例化XStream

使用XStream,简单实例化XStream类:

 

XStream xStream  =   new  XStream(); 

 

 你需要xstream-[version].jar and xpp3-[version].jar在classpath中。XPP3是一个非常快的XML拉式转换器工具。如果你不想包含这个依赖,你可以使用标准的JAXP DOM转换器来代替。

 

XStream xStream  =   new  XStream( new  DomDriver()); // 不需要XPP3库 


:这个类的简单设计是为了实现通用操作的。为了实现更复杂的操作你可以选择自己创建出不同方式。

 

现在,为了使用XStream来更精简的输出XML,你可以为自定义的类创建别名到XML的元素名的映射。这是使用XStream唯一需要的映射的,甚至这个都是可选的。

 

xStream.alians( " person " ,Person. class ); 

 

:这是可选的一步。没有这步XStream也可以很好的起作用,但是XML元素的名字就会包含每个类的全称(包括包名),这将会使生成XML稍大。

 

序列号一个对象到XML

 让我们创建一个Person的实例并且填充它的变量域:

 

Person joe  =   new  Person( " Joe " , " Walnes " ); 

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

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

 

现在转换到XML,你要做的是简单的调用XStream:

String xml  =  xstream.toXML(joe); 

生成的XML看上去像这样:

 

< person >
  
< firstname > Joe </ firstname >
  
< lastname > Walnes </ lastname >
  
< phone >
    
< code > 123 </ code >
    
< number > 1234-456 </ number >
  
</ phone >
  
< fax >
    
< code > 123 </ code >
    
< number > 9999-999 </ number >
  
</ fax >
</ person >  

 

非常简单,像创建XML一样。

 

从XML反序列化一个对象

 

从XML重新构造一个对象:

Person newJoe  =  (Person)xStream.fromXML(xml); 

 

XStream是多么的简单啊!

 

总结:

 

使用xStream.alias(String elementName, Class cls)为任何一个自定义类创建到类到元素的别名;

使用xStream.toXML(Object obj)转换对象到XML;

使用xStream.fromXML(String xml)转换XML到对象;

(附原文地址:http://xstream.codehaus.org/tutorial.html )

 

************************************************************************************************************

备注:这个技术做与webservice相关的处理十分方便。

分享到:
评论

相关推荐

    使用XStream操作xml教程

    本教程将深入探讨如何使用XStream进行XML操作。 一、XStream简介 XStream是一个开源库,由Johannes Link开发,它允许开发者以一种声明性方式将Java对象序列化为XML,然后又可以从XML还原回对象。XStream的核心理念...

    xstream教程资料.rar

    本教程资料将带你深入理解和掌握XStream的核心功能和使用技巧。 一、XStream简介 XStream由Johannes Link创建,它通过简单的API提供了高效的序列化和反序列化功能。XStream的亮点在于其自动映射Java对象到XML的能力...

    最齐全的xstream1.4.8.jar

    最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...

    xstream-1.4.15.jar

    XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...

    xstream最新版 - xstream-1.4.18.jar

    xstream最新版jar包

    xstream-1.4.2.jar

    《XStream详解与应用》 XStream是一款强大的Java库,用于将对象序列化为XML,同时也能从XML数据中反序列化回对象。在标题"xstream-1.4.2.jar"中,我们看到的是XStream的一个特定版本——1.4.2。这个版本包含了...

    XStream+1.3(xstream).CHM

    博文链接(https://676744379-qq-com.iteye.com/blog/965624)可能提供了关于如何使用XStream的详细教程,包括安装、配置以及基本用法示例,对于初学者来说是一份很好的参考资料。 在实际使用中,`xstream-1.3.1....

    xstream-1.4.5.jar

    xstream xstream-1.4.5.jar

    xStream完整Jar包

    **XStream 概述** XStream 是一个 Java 库,用于将对象序列化为 XML,以及从 XML 反序列化回对象。它提供了一种简单而直观的方式来处理 XML 数据,使得 XML 文档与 Java 对象之间的转换变得轻而易举。这个“xStream...

    xstream1.4.15.JAR

    XStream 是一个流行的 Java 库,用于将对象序列化为 XML 和从 XML 反序列化回对象。这个库广泛应用于各种 Java 应用程序,尤其是那些需要在网络间传输或存储对象数据的情况。在标题提到的 "xstream1.4.15.JAR" 文件...

    xstream解析依赖包

    《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和...在实际项目中,理解这两个库的工作原理和相互关系,对于优化代码性能和解决可能出现的问题都至关重要。

    xstream-1.3.1.zip

    《XStream 1.3.1:Java对象到XML的高效转换工具》 XStream是一款强大的Java库,它能够将Java对象序列化为XML,并能从XML反序列化回Java对象。这个“xstream-1.3.1.zip”文件包含了一个名为“xstream-1.3.1.jar”的...

    TutorialsPoint XStream 教程.epub

    TutorialsPoint XStream 教程.epub

    xstream学习文档及实例

    XStream 是一个强大的 Java 库,它允许程序员将 Java 对象序列化为 XML,反之亦然。这个库因其简单易用、灵活性高以及性能优异而备受赞誉。在本学习文档中,我们将深入探讨 XStream 的核心概念、用法以及如何在实际...

    xstream-1.4.19.jar

    xstream-1.4.19.jar

    XStream使用文档 wd.docx

    **XStream 概述** XStream 是一个功能强大的 Java 库,主要负责对象与 XML 之间的序列化和反序列化工作。它以其简洁的API、无需繁琐的配置映射、高效的性能以及对类结构的宽松要求而受到青睐。XStream 的核心特性...

    xstream-1.4.20.jar

    xstream-1.4.20.jar

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    XStream库提供了一个简单、直观的方式来实现这种转换,使得XML序列化和反序列化变得非常方便。本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一...

    xstream相关的jar包

    XStream是一款强大的Java库,用于将Java对象序列化为XML,反之亦然。这个库的主要优点在于其简单易用的API和对复杂对象图的处理能力。在标题中提到的"Xstream相关的jar包",是指为了使用XStream库,需要引入的依赖...

Global site tag (gtag.js) - Google Analytics