简介:
XSteram:将javaBean对象转化为xml对象,Xtream快速且低内存占用
核心包:xstream-*.jar
依赖包:xpp3_min-*.jar
xml转为javabean:xmlpull-*.jar
使用教程:
1.获取XStream对象,可转为xml形式字符串
1.获取xstream对象,转化为xml
XStream xstream = new XStream();
2.转化为xml格式的字符串
String xml = xstream.toXML(javabean);
2.获取XStream对象,可转为json形式字符串
1.获取xstream对象,转化为json
XStream xstream = new XStream(new JsonHierarchicalStreamDriver());
2.转化为xml格式的字符串
String json = xstream.toXML(javabean);
3.默认将javabean的全类名转化为XML节点,可设置别名
xstream.alias(“china”, List.class);
xstream.alias(“province”, Province.class);
xstream.alias(“city”, City.class);
4.默认javabean中的成员会转化为XMl的节点,修改为转化为XML的属性
xstream.useAttributeFor(Province.class, “name”);
5.默认集合会出现无用的类似的信息,可去除
xstream.addImplicitCollection(Province.class, “cityList”);
6.默认将所有javabean属性转化为XML,可去除
xstream.omitField(City.class, “desc”);
7.使用注解的方式进行修改xml
Stream使用注解凡是前需要开启注解
为所有对象开启注解:xstream.autodetectAnnotations(true);
为一个对象开启注解:xstream.processAnnotations(Student.class);
将javabean转化为student元素
@XStreamAlias(value = “student”)
public class Student
将id元素转化为上一级元素的属性
@XStreamAsAttribute
private int id;
去除不需要的元素
@XStreamOmitField
private String desc;
8.将字符串的xml对象转化为javabean对象
需要额外导包:xmlpull-*.jar
// 将xml转化为javabean对象
XStream.setupDefaultSecurity(xstream);
// 没有下面这句会有安全提示.
xstream.allowTypes(new Class[]{ Student.class });
提示:Security framework of XStream not initialized, XStream is probably vulnerable.
List list = (List) xstream.fromXML(xml);
9.范例
package com.zgd.learn_xstream.demo;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.json.JsonHierarchicalStreamDriver;
import com.zgd.learn_xstream.doman.City;
import com.zgd.learn_xstream.doman.Province;
import com.zgd.learn_xstream.doman.Student;