首先到http://xstream.codehaus.org下载XStream的最新版本,到目前为止的最新版本为<chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on"></chsdate>1.1.2,主要改变为提供了一些JDK1.5的enum类型支持。下载后,解压,将xstream-1.1.2.jar与xpp3_min-1.1.3.4.I.jar复制到项目的lib中,此时就可以使用XStream了。Xpp3为XStream提供的一个很有效率的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
}
注意:这里定义的属性都为private,XStream不限制你的属性的可见性,默认所有属性都会进行转换;XStream不要求你必须要有setter和getter方法,也不要求你要有一个默认的类构造方法。
二、初始化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);
相关推荐
综上所述,"XStream简单应用实例(xml)"涉及了如何使用XStream库进行Java对象到XML的序列化和反序列化操作,这是Java开发中一种实用的数据处理技巧,尤其适用于需要XML格式数据交换的场景。通过学习和实践,开发者...
2. **初始化 XStream**: 创建 `XStream` 实例,通常建议使用 `XStream(xmlDriver)` 初始化,其中 `xmlDriver` 可以是 `JDOMDriver` 或 `DomDriver` 等。 3. **注册转换器**: 如果需要处理自定义类型,可能需要注册...
这个实例将深入探讨如何使用XStream进行XML操作。 **1. XStream简介** XStream是一个开源库,由Joe Walnes创建,它提供了Java对象到XML和XML到Java对象的直接映射。它的主要优点是其简洁的API和易于理解的输出。...
在本学习文档中,我们将深入探讨 XStream 的核心概念、用法以及如何在实际项目中应用。 一、XStream 简介 XStream 能够将复杂的 Java 对象结构转换成易于读写的 XML 格式,同时也能将 XML 文档还原为对应的 Java ...
【Xstream实例】是关于如何使用Xstream库处理XML数据并进行文件操作的实践示例。Xstream是一个轻量级的Java库,它允许你将Java对象序列化为XML,反之亦然,使得XML数据的读写变得极其简单。在这个实例中,我们将探讨...
以下是一个简单的示例,展示了如何创建 `XStream` 实例并使用它来将 `Person` 对象转换为 XML: ```java import com.thoughtworks.xstream.XStream; public class Main { public static void main(String[] args)...
首先创建一个Java对象,然后使用XStream实例的`toXML()`方法将其转换为XML字符串。 ```java import com.thoughtworks.xstream.XStream; public class User { private String name; private int age; // 构造器...
本篇将详细讲解XML的解析方式及其在Java中的应用,特别是如何使用XStream库进行JavaBean与XML之间的互转。 1. **XML解析方式** - DOM解析:Document Object Model,它一次性加载整个XML文档到内存,形成一棵树形...
2. 创建 XStream 实例:`XStream xstream = new XStream();` 3. 配置 XStream:根据需求设置命名策略、类型转换器等。 4. 序列化对象:`String xml = xstream.toXML(yourObject);` 5. 反序列化 XML:`YourObject ...
《XStream深度解析与实战应用》 XStream是一款强大的Java库,它能够将Java对象序列化为XML,反之亦然,极大地简化了Java对象与XML数据之间的转换过程。本教程资料将带你深入理解和掌握XStream的核心功能和使用技巧...
XStream的核心类是`XStream`,你可以通过创建其实例并调用`fromXML()`和`toXML()`方法来实现XML与Java对象之间的转换。例如,如果你有一个简单的Java对象`Person`: ```java class Person { String name; int ...
以下是一个简单的示例,展示了`XStream`的使用: ```java import com.thoughtworks.xstream.XStream; import java.util.ArrayList; import java.util.List; public class Person { private String name; private...
在本文中,我们将深入探讨Xstream的核心概念、使用场景以及如何通过实例进行操作。 首先,Xstream的核心优势在于其易用性。它通过简单的API使XML与Java对象之间的映射变得直观。通过使用`XStream`类的`toXML()`和`...
创建 XStream 实例是使用 XStream 的第一步。可以通过指定不同的驱动器来初始化 XStream 对象,例如使用 DOM 驱动器: ```java XStream xstream = new XStream(new DomDriver()); ``` 2. **序列化Java对象为...
Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream是一个开源的Java库,由Johannes Link创建。它提供了简洁、直观的API来处理XML...
本篇文章将深入探讨如何使用XStream进行XML到对象的转换,并提供一个实际的案例。 首先,理解XStream的基本工作原理是至关重要的。XStream通过映射XML节点到Java类的字段来实现对象的序列化和反序列化。这意味着你...
例如,你可以通过简单的几行代码将一个对象实例转换为XML,并在稍后恢复原始对象。 ```java XStream xstream = new XStream(); String xml = xstream.toXML(yourObject); YourObject restoredObject = (YourObject)...