Android 用 XStream 将复杂xml解析为javabean

Android开发中,我们解析服务器给我们的数据一般就是JSON和XML 两种格式的内容。
JSON的解析我们可选的比较多 如Gson fastJson 等。我们之前说了 用GsonFormat来解析JSON并且自动生成相应的javabean, 一般来说,解析XML最快的方式,就是和服务器商量把数据传输方式换位JSON。。。但是有时候我们不可不免的遇到XML需要解析。如果少量的话,那么我们直接用JDK提供的pull方式去解析就可以了。
但是如果比较多,也比较复杂。那么我们还是选择第三方库来完成比较好。

XStream的jar包的下载。

下载jar包请点击这里

下载完成之后里面包含了 xstream.jar 和 xapp3.jar。

Xstream序列化XML时可以允许用户使用不同的XML解析器,用户可以使用一个标准的JAXP DOM解析器或自Java6集成StAX解析器。这样用户就不需要依赖xpp3.jar。

 //XStream xstream = new XStream();//需要XPP3库
 //XStream xstream = new XStream(new DomDriver());//不需要XPP3库
 //XStream xstream = new XStream(new StaxDriver());//不需要XPP3库开始使用Java6

由于也有许多版本了,而我开始下载的是1.4.8版本的。导入之后总是报错。后来看网上说是1.4.8要java8支持,没考证,不过的确换成1.4.7就可以了,而且看版本使用统计 1.4.7也的确是使用人数最多的。

使用

我们拿到那个内容的xml字符串之后。可以同过下面几句代码将内容转为javaBean

 XStream stream = new XStream();
 stream.processAnnotations(TestBean.class);//这里需要注解是你自己根据xml写的bean类(下面附代码解释xml)
 TestBean result = (TestBean) stream.fromXML(xmlStr);

实例1

xml内容为:

<china dn="day">
    <city prov= "西安">
        <name>陕西</name>
        <age>18</age>
        <year>2016</year>
    </city>
    <city prov= "郑州">
        <name>河南</name>
        <age>20</age>
        <year>2016</year>
    </city>
    <city prov= "石家庄">
        <name>河北</nam
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值