XStream是一个开源项目,利用它可以方便的进行java对象和xml之间进行转换,从而在测试,服务器设置等方面有很好的应用。
先创建Java对象
1.Student类
package com.dheaven.demo.pojo;
public class Student {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
public static void hi(int age,String name){
System.out.println("你好,我叫"+name+";今年"+age+"岁!");
}
}
2.测试类TestXStream
package com.dheaven.demo.xstream;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.dheaven.demo.pojo.Student;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class TestXStream {
@Test
public void testXStream(){
Student student=new Student();
student.setAge(20);
student.setName("mengmeng");
XStream xStream=new XStream(new DomDriver());
String studentXML=xStream.toXML(student);
System.out.println(studentXML);
Student studentpojo=(Student) xStream.fromXML(studentXML);
System.out.println(studentpojo.getAge()+"\t"+student.getName());
}
@Test
public void testAlias(){
Student student=new Student();
student.setAge(20);
student.setName("mengmeng");
XStream xStream=new XStream(new DomDriver());
xStream.alias("student",Student.class);
String studentXML=xStream.toXML(student);
System.out.println(studentXML);
Student studentpojo=(Student) xStream.fromXML(studentXML);
System.out.println(studentpojo.getAge()+"\t"+student.getName());
}
@Test
public void testComplexObj(){
List<Student> list = new ArrayList<Student>();
Student chb = new Student();
chb.setAge(23);
chb.setName("chb");
list.add(chb);
Student wl = new Student();
wl.setAge(23);
wl.setName("wl");
list.add(wl);
XStream xStream=new XStream(new DomDriver());
xStream.alias("student", Student.class);
String xstramStr= xStream.toXML(list);
System.out.println(xstramStr);
List<Student> student=(List<Student>) xStream.fromXML(xstramStr);
System.out.println(student.get(0).getAge());
}
}
XStream的jar包可以直接到http://xstream.codehaus.org/下载,那里有一些简单例子
XStream是个很小的开源项目,所以它能实现的功能也就很有限,它只能包装简单类型的元素进行转换,复杂类型的,比如Calendar,Date等类型则需要用户自己实现Converter。
还有,XStream对xml的操作并不好,比如想把一个子节点变成属性就是一个很复杂的工作,但是大家平时用于测试的话,看看对象中到底存着什么数据,还是必要的。
分享到:
相关推荐
已集成第三方开源组件: 网络请求库android-async-http 图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK+短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入库...
XStream Java Android下的使用.有读写相关的测试.
使用 XStream 不用任何映射就能实现多数 Java 对象的...不需要修改类,使用 XStream 就能直接序列化/逆序列化任何第三方类。 该下载资源包括示例源码、相关的 xpp3_min-1.1.4c.jar xstream-1.3.jar 包及XStream API
XStream在Java对象和XML之间相互转换 内包含 xpp3_min-1.1.4c.jar xstream-1.3.jar kxml2-2.3.0.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 ...
android 使用Java库xstream示例。这是Java解析xml文件的库,基于Java7基础上的。那么在android上也是一样适用的。我的博客:http://blog.csdn.net/qq_16064871
使用xstream进行java类与xml文件互转解析
xstream轻松解析xml到java对象,内附样例。so easy!妈妈再也不用担心我的xml解析。
关于xstream的相关jar包,1.4.8的,不太清楚有什么作用
已集成第三方开源组件: 网络请求库android-async-http 图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK 短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入...
Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发。 0x01 漏洞描述 Xstream上次对CVE-2020-26217处理并不彻底,虽然通过黑名单...
webService接口对接时,需要传递一个xml内容。用xStream拼接xml
xstream 1.3版本 java文件源代码 解压jar包得到java文件
Xstream_java对象和xml的互相转换
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
已集成第三方开源组件: 网络请求库android-async-http 图片异步加载库universal-image-loader Sqlite数据库操作ormlite-android 社会化分享ShareSDK 短信验证码 Zxing二维码库 百度地图定位SDK 谷歌依赖注入...
开源软件包XStream及入门文档,是处理XML的开源软件包。
好用的xStream XML和JAVA对象互相转换的简单示例,内附依赖的xstream-1.3.1.jar和xpp3_min-1.1.4c.jar
java解析XML所需要的jar包-XStream.jar,dom4j.jar和xpull/xpp.jar以及用到的commons-beanutils,collections,lang,logging.jar四个jar包