XStream使用教程

本文详细介绍了XStream的使用,包括如何创建XStream对象以转换为XML和JSON字符串,设置别名,转化成员为XML属性,处理集合,忽略特定字段,使用注解自定义XML结构,以及将XML字符串反序列化为Java对象。通过实例展示了XStream的强大功能。
摘要由CSDN通过智能技术生成

简介:

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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值