这是一个关于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
)
分享到:
相关推荐
在"XStream+技术指南.docx"中,你将找到丰富的实践示例,涵盖基础操作、复杂类型转换、安全配置等多个方面,帮助你更好地理解并运用XStream。 九、进阶话题 "XStream教程.rar"包含更高级的主题,如处理集合、数组、...
提供的文档`xsteam-tutorials.doc`应该是XStream的官方教程或用户指南,它通常会涵盖以下内容: 1. **快速入门**:简单的示例演示如何使用XStream进行XML与Java对象的转换。 2. **高级特性**:包括别名、字段映射、...
XPP3是一个XML Pull解析器,提供了一个高效的XML解析机制,为XStream提供解析XML的基础。 以下是如何在Android中使用XStream的一个简要示例: 1. 添加依赖:首先,将XStream库文件添加到项目的lib目录,并在...
本教程旨在提供一个高层次的理解,帮助用户无须深入探究底层细节,就能编写出能够访问任意层次属性的代码。 1. MATLAB基础 MATLAB是一款强大的数学计算软件,它提供了丰富的工具箱和接口,能与其他应用程序进行集成...
详解 Spring Batch 入门学习教程 Spring Batch 是一个开源的批处理框架,执行一系列的任务。在 Spring Batch 中,一个 Job 是由许多 Step 组成的,而每一个 Step 又是由 READ-PROCESS-WRITE 任务或者单个 Task 组成...
**cxf_hello**可能是CXF基础教程中的"Hello, World!"示例,这是一个典型的入门级练习,展示了如何使用CXF创建一个简单的服务并发布。这个示例会教你如何设置CXF的运行环境,编写服务接口和实现,以及如何启动和调用...
3. **xstream-1.4.1.jar**:XStream 是一个 Java 对象到 XML 反序列化库,可能在 dubbo-admin 中用于数据持久化或配置文件的读写。 4. **spring-beans-2.5.6.SEC03.jar, spring-context-2.5.6.SEC03.jar, spring-...
Digimat平台由e-Xstream engineering公司开发,致力于通过其先进的算法和计算技术,帮助工程师和研究人员在材料选择、设计和制造过程中实现优化。 Digimat软件主要包含几个模块,包括Digimat-MF、Digimat-FE、...
例如,在JavaScript中,可以使用`xml2js`库,Python有`xmltodict`和`json`模块,Java可以使用`Jackson`或`XStream`,而在.NET环境中,`System.Xml.Linq`库提供了便利的转换方法。 **实际应用:** XML到JSON转换在...
"第四次XML"可能指的是一个关于XML的学习资料、教程或者案例集合,其核心可能涵盖了XML的最新发展、应用及最佳实践。 XML的设计目标是简化数据的共享和交换,特别是在不同的系统之间。它的主要特点包括: 1. **...
本教程将详细讲解Android中XML序列化的基础知识,并通过一个简单案例来加深理解。 首先,我们要明白什么是XML序列化。XML序列化就是将Java对象转换为XML格式的字符串,以便于存储或者在网络上传输。反之,反序列化...
然而,对于复杂的对象结构或需要高度定制的 XML 格式,可能需要使用更强大的工具,如 JAXB 或 XStream。 总的来说,Betwixt 是一个轻量级的解决方案,适合快速地在 Java beans 和 XML 之间进行简单的转换。如果你的...
他还是一位资深的Java软件开发工程师和Android/iOS移动应用开发工程师,活跃于CocoaChina、开源中国、CSDN等社区,CSDN博客专家,在CSDN博客撰写了系列微信公众平台二次开发的教程,深受欢迎并被广泛传播,也因此...