该实例在内部含有一个List<String>,当想把String 按照自己想要的格式显示,需要做一个小小的操作,代码如下所示:
package xstream;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import pojo.Person;
public class PersonTest
{
@Test
public void ObjectToXML()
{
Person p = new Person();
p.setAge(20);
p.setName("张三");
p.setScore(80);
List<String> list = new ArrayList<String>();
list.add("13878688599");
list.add("13475655585");
list.add("13684186587");
p.setPhones(list);
XStream stream = new XStream();
/** 声明要转的pojo类,可以试下删掉会怎么样^_^ */
stream.alias("Person", Person.class);
/** 声明要转的pojo类,可以试下删掉会怎么样^_^ */
stream.alias("number", String.class);
/** 声明要 换名字的类中属性,可以试下删掉会怎么样^_^ */
stream.aliasField("Phones", Person.class, "phones");
String s = stream.toXML(p);
System.out.println(s);
}
@Test
public void XMLToObject()
{
StringBuilder sb = new StringBuilder();
sb.append("<Person>");
sb.append("<name>张三</name>");
sb.append("<age>20</age>");
sb.append("<score>80</score>");
sb.append("<Phones><number>13878688599</number><number>13475655585</number></Phones>");
sb.append("</Person>");
/**这里面最好加入new DomDriver(),不然有异常,可以试下删掉会怎么样^_^ */
XStream stream = new XStream(new DomDriver());
/** 声明要转的pojo类,可以试下删掉会怎么样^_^ */
stream.alias("Person", Person.class);
/** 声明要转的pojo类,可以试下删掉会怎么样^_^ */
stream.alias("number", String.class);
/** 声明要 换名字的类中属性,可以试下删掉会怎么样^_^ */
stream.aliasField("Phones", Person.class, "phones");
Person p = (Person)stream.fromXML(sb.toString());
System.out.println(p.getName());
}
}
分享到:
相关推荐
// 创建XStream实例 XStream xstream = new XStream(); // 定义一个Java对象 Person person = new Person("John", "Doe"); // 序列化为XML String xml = xstream.toXML(person); System.out.println(xml); ...
在"XStream+技术指南.docx"中,你将找到丰富的实践示例,涵盖基础操作、复杂类型转换、安全配置等多个方面,帮助你更好地理解并运用XStream。 九、进阶话题 "XStream教程.rar"包含更高级的主题,如处理集合、数组、...
如果`XStream`的基础功能无法满足需求,可以通过实现自定义转换器或者利用其扩展性来实现更复杂的任务,如生成HTML或其他非XML格式的数据。然而,这些高级功能通常只在特定情况下使用。 `XStream`的优点包括简单...
1. **直观的映射**:通过简单的类和字段注解,XStream可以直接将Java对象转换为XML,反之亦然,无需编写额外的代码。 2. **安全**:XStream提供了安全模式,可以防止恶意用户利用XML注入攻击。 3. **内存效率**:...
XStream 1.4 版本在之前的版本基础上进行了优化和增强,使其更加稳定和高效。本文将深入探讨 XStream 1.4 的主要功能、API 使用方法以及一些关键概念。 **1. XStream 基本原理** XStream 的工作原理是通过反射和...
默认情况下,XStream 可以处理大部分基础类型和标准集合框架类。对于自定义类,它会基于类的属性和字段创建 XML 节点。 ### 使用 XStream 的步骤 1. **添加依赖**: 首先,你需要在项目中引入 XStream 的依赖库。...
2. **初始化 XStream** - 创建一个 `XStream` 实例,这是进行转换的核心。 ```java XStream xStream = new XStream(); ``` 3. **对象转XML** - 使用 `toXML()` 方法将 Java 对象转换为XML字符串。 ```java String...
例如,我们可以这样创建一个XStream实例: ```java XStream xstream = new XStream(new DomDriver()); ``` ### 三、自定义XML输出结构 #### 1. 域属性别名(Field Aliases) 默认情况下,XStream会使用Java字段...
1. 引入XStream库:在项目中引入`xstream-1.1.3.jar`,这是执行序列化和反序列化操作的基础。 2. 创建XStream实例:首先,你需要创建一个XStream的实例,通常通过`new XStream()`构造函数来完成。你可以根据需要...
1. 创建一个`XStream`实例。 2. 配置XStream,例如设置别名、注册自定义转换器等。 3. 使用`toXML()`方法将Java对象转换为XML字符串。 4. 使用`fromXML()`方法将XML字符串反序列化回Java对象。 XStream的使用不仅...
1. `Transport`接口:定义了ActiveMQ传输的基础接口,包括连接、断开、发送和接收消息等方法。 2. `XStreamTransport`类:实现了上述的`Transport`接口,负责通过XStream进行消息的序列化和反序列化。 3. 依赖的...
为了更好地理解和使用这个实例源码,你需要了解Java基础,XML的基本概念,以及如何使用XStream的API。这可能包括`XStream`类的构造函数,`toXML()`和`fromXML()`方法,以及如何通过`asXML()`和`unmarshal()`方法进行...
XML解析是IT行业中一个基础且重要的概念,尤其是在Java领域,XStream是一个流行的库,用于将Java对象序列化为XML和反序列化XML回Java对象。本项目“xml-parser_示例项目”着重展示了如何利用XStream进行XML处理,并...
XStream的使用非常直观,主要步骤包括创建一个`XStream`实例,然后调用`toXML`或`fromXML`方法进行对象的序列化和反序列化。 ```java import com.thoughtworks.xstream.XStream; public class Test { public ...
3. 初始化XStream:创建一个XStream实例,可以配置命名空间、类名映射等,例如`XStream xstream = new XStream();` 4. 序列化对象:将Java对象转换为XML字符串,如`String xml = xstream.toXML(yourObject);` 5. ...
1. **序列化**:XStream可以将任何Java对象转换为XML字符串。通过`toXML()`方法,你可以将一个Java对象转换成XML格式。例如: ```java XStream xstream = new Xstream(); String xml = xstream.toXML...
本文将详细介绍XML的增删改查(CRUD)操作,并通过实例来帮助理解。 **创建(Create)** 在XML中,创建一个新的文档涉及到定义元素、属性以及文本内容。以下是一个简单的XML创建示例: ```xml <book id="1"> ...
2. 初始化XStream实例:创建XStream对象,并根据需要配置其行为。 3. 序列化:使用XStream.toXML()方法将Java对象转换为XML字符串。 4. 反序列化:使用XStream.fromXML()方法将XML字符串恢复为Java对象。 总之,...
【标题】"dv-stream.github.io:DV xStream网站构建与HTTP基础" 【描述】"DV xStream是一个由伊万叔叔创建的平台,专注于分享Donbass地区以及全球各地的实时事件流媒体内容。该网站利用HTTP协议为用户提供信息传递...
1. **JavaBeans API的XMLEncoder** XMLEncoder是JavaBeans API的一部分,它提供了将Java对象(包括JavaBean)编码为XML流的能力。使用XMLEncoder,你可以创建一个Encoder实例,然后将JavaBean对象写入XML流。这种...