XStream是一个开源项目,利用它可以方便的进行java对象和xml之间进行转换,从而在测试,服务器设置等方面有很好的应用。
先建两个java对象
1.Adress类
package xml_chb;
public class Adress ...{
private String provice;
private String city;
public String getCity() ...{
return city;
}
public void setCity(String city) ...{
this.city = city;
}
public String getProvice() ...{
return provice;
}
public void setProvice(String provice) ...{
this.provice = provice;
}
}
2.Person类
package xml_chb;
public class Person ...{
private String name="";
private String sex="";
private int age;
private String mobile;
private Adress adress;
public int getAge() ...{
return age;
}
public void setAge(int age) ...{
this.age = age;
}
public String getMobile() ...{
return mobile;
}
public void setMobile(String mobile) ...{
this.mobile = mobile;
}
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = name;
}
public String getSex() ...{
return sex;
}
public void setSex(String sex) ...{
this.sex = sex;
}
public Adress getAdress() ...{
return adress;
}
public void setAdress(Adress adress) ...{
this.adress = adress;
}
}
3.生成一个Person对象,并将其转化为xml
//生成一个java对象
Person person=new Person();
person.setName("chb");
person.setAge(22);
person.setSex("boy");
//生成一个Adress对象
Adress adr=new Adress();
adr.setProvice("Beijing");
adr.setCity("Beijing");
person.setAdress(adr);
//将java对象转化为xml
XStream xstream=new XStream(new DomDriver());
String strxml=xstream.toXML(person);
System.out.println(strxml);
输出:
<xml__chb.Person>
<name>chb</name>
<sex>boy</sex>
<age>22</age>
<adress>
<provice>Beijing</provice>
<city>Beijing</city>
</adress>
</xml__chb.Person>
我们可以看到,xml根结点是<xml_chb.Person>是类的全名,这样看起来很繁琐,我们可以使用别名来改进这一现象:
xstream.alias("person",Person.class);
strxml=xstream.toXML(person);
System.out.println(strxml);
输出结果为:
<person>
<name>chb</name>
<sex>boy</sex>
<age>22</age>
<adress>
<provice>Beijing</provice>
<city>Beijing</city>
</adress>
</person>
4.从xml转化为POJO
String str="<person><name>emily</name><sex>girl</sex><age>22</age><adress><provice>Beijing</provice><city>Beijing</city></adress></person>";
Person person1=(Person)xstream.fromXML(str);
System.out.println("姓名:"+person1.getName());
System.out.println("性别:"+person1.getSex());
输出结果为:
姓名:emily
性别:girl
5.修改元素值
Adress adr1=new Adress();
adr1.setProvice("Shanghai");
adr1.setCity("Shanghai");
person.setAdress(adr1);
strxml=xstream.toXML(person);
System.out.println(strxml);
输出结果:
<person>
<name>chb</name>
<sex>boy</sex>
<age>22</age>
<adress>
<provice>Shanghai</provice>
<city>Shanghai</city>
</adress>
</person>
XStream的jar包可以直接到http://xstream.codehaus.org/下载,那里有一些简单例子
XStream是个很小的开源项目,所以它能实现的功能也就很有限,它只能包装简单类型的元素进行转换,复杂类型的,比如Calendar,Date等类型则需要用户自己实现Converter。
还有,XStream对xml的操作并不好,比如想把一个子节点变成属性就是一个很复杂的工作,但是大家平时用于测试的话,看看对象中到底存着什么数据,还是必要的。
分享到:
相关推荐
在本文中,我们将深入探讨XStream的使用方法,包括它的核心概念、配置、安全性和性能优化。 **1. 序列化到XML** XStream的核心功能是能够将Java对象转换成XML。首先,我们需要导入XStream库,并创建一个XStream...
Xstream的使用非常简单直观,下面通过一个简单的示例来展示如何使用Xstream进行序列化和反序列化。 ##### 2.1 JavaBean定义 首先定义一个简单的`Person`类作为JavaBean: ```java class Person { // JavaBean实体...
以下是一个简单的示例,展示了如何创建 `XStream` 实例并使用它来将 `Person` 对象转换为 XML: ```java import com.thoughtworks.xstream.XStream; public class Main { public static void main(String[] args)...
**XStream使用示例** ```java import com.thoughtworks.xstream.XStream; public class XStreamExample { public static void main(String[] args) { XStream xstream = new XStream(); Person person = new ...
在提供的压缩包文件中,可能包含了使用 XStream 进行序列化和反序列化的示例代码,你可以通过运行这些代码更深入地了解其工作原理和使用方式。学习并理解 XStream 的用法,可以帮助你在 Java 开发中更加高效地处理 ...
这个小例子将帮助我们理解XStream的工作原理及其基本用法。 首先,我们需要了解XStream的核心概念:对象到XML的映射。在XStream中,这个过程通过创建一个`XStream`实例并调用其`toXML()`方法来实现。同样,从XML反...
这个示例可能包含了一个或多个演示如何使用 XStream 进行对象和 XML/JSON 之间转换的 Java 应用程序。这些示例可能包括创建对象、序列化为 XML/JSON、然后反序列化回对象的完整流程。通过运行提供的 jar 包,你可以...
**XStream解析XML实例** 在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而...通过理解上述概念和示例,开发者可以有效地利用XStream来处理XML数据,无论是在常规Java项目还是Android应用中。
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
Xstream通过使用注解提供了高度的灵活性,使得XML的生成和解析更加简单和直观。在这篇文章中,我们将深入探讨如何利用Xstream的注解来处理XML。 首先,要使用Xstream,我们需要在项目中引入其依赖。如果你使用的是...
此示例创建了一个`Person`对象,然后使用`XStream`将其转换为XML字符串,最后从XML字符串反序列化回`Person`对象。通过别名配置,XML元素的名称与Java类和字段名对应,使得XML结构更加清晰。 总之,`XStream`是Java...
Oracle Database XStream Guide 11g Release 2 (11.2)-302 Oracle Database XStream 是 Oracle 公司推出的一个数据捕获和事件处理工具,旨在帮助用户实时捕获和处理数据库中的数据变化。下面是 Oracle Database ...
这个“xStream完整Jar包”很可能包含了 XStream 库的所有组件,包括核心库、相关的依赖和可能的示例代码,以确保用户在使用过程中不会遇到因缺少依赖而导致的错误。 **XML 序列化与反序列化** XStream 的主要功能...
本入门例子将带你了解如何使用 XStream 进行基本操作。 首先,XStream 的核心功能在于它可以将 Java 对象转换成 XML,同时也可以将 XML 文档解析回相应的 Java 对象。这种转换过程称为序列化和反序列化。在描述中...
在这个场景中,我们将深入探讨如何使用XStream处理对象的序列化和反序列化。 首先,让我们了解什么是XStream。XStream是由Joe Walnes创建的一个开源项目,它提供了一种简单的方式来将Java对象转换为XML,反之亦然。...
#### 三、基本使用示例 1. **创建XStream实例** 创建 XStream 实例是使用 XStream 的第一步。可以通过指定不同的驱动器来初始化 XStream 对象,例如使用 DOM 驱动器: ```java XStream xstream = new XStream...
android 使用Java库xstream示例。这是Java解析xml文件的库,基于Java7基础上的。那么在android上也是一样适用的。我的博客:http://blog.csdn.net/qq_16064871
### XStream使用方法总结——对象转换 XStream是一款强大的Java库,主要用于实现Java对象与XML文档之间的相互转换。本文将详细介绍XStream的基本用法、配置选项以及如何利用它来进行对象到XML的序列化和反序列化...
XStream 是一个强大的 Java 库,它允许程序员将 Java 对象序列化为 XML,反之...在阅读“xstream学习文档”时,建议重点理解其核心概念、使用示例以及自定义转换器的编写,以便在实际工作中游刃有余地应对各种需求。
本篇文章将深入探讨XStream解析XML的示例,帮助你理解和掌握这一强大的工具。 首先,我们需要理解XStream的基本用法。XStream的核心概念是通过为Java对象定义一个映射,使得对象的字段与XML元素一一对应。这可以...