1、概述

json 解析可以使用gson包解为现成的对象,那么xml可以不可以用现成的包解析成java的对象呢?

带着这个问题,查询了一些材料找到了Xstream解析方法,确实可以完成这种思考,只是实际使用中并没有感觉到特别好用就是了,可能是xml比较复杂的原因,也可能是自身水平不足够,至少使用了记录下。

2、xstream介绍

xstream使用还是相对方便的。可以参考官网:http://xstream.codehaus.org/

如上图所示,xstream 的代码索引和简单使用都已经在官网右侧列出。其中简单的xml解析为javabean 实例只要参考Two Minute Tutorial 一列就可以了:

使用比较简单。

3、第三方包选择

下载了官网的包后,会发现其中相关包有很多。只要添加 xstream-[version].jarxpp3-[version].jar 这两个包即可。xpp3这个包也可以不包含,不过不包含在实例化xStream对象时要多添加一些代码。偷懒点就包含进去了,其中我用的是:xstream-1.4.7.jar xpp3_min-1.1.4c.jar。另外几个标准包什么的,没有细读文档不知道怎么用。

4、注意点

note:在实际使用时遇到过提示  没有提供默认够着函数的执行错误

解决:1、写一个转换类 继承

Converter 

话说:我试了下,可以。只是这么麻烦还不如自己解析了。

2、升级jdk到最新版本

3、其中调用执行

fromXML

方法时。传进去的类不能用内部类,用内部类还是会有这个错误提示。

5、嵌套xml解析

xml如果多层的话不能只用一个类搞定

调用类似的几个方法可解决:

mXstream2.addImplicitArray(Names.class,"names");

mXstream2.addImplicitCollection(Names.class, "names", "name", String.class);//嵌套并排子节点

xml 解析 Xstream的更多相关文章

  1. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  2. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  3. android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  4. android XMl 解析神奇xstream 三: 把复杂对象转换成 xml

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  5. android XMl 解析神奇xstream 二: 把对象转换成xml

    前言:对xstream不理解的请看:android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 1.Javabeen 代码 packa ...

  6. 定位和xml解析和gson解析加上拉加载,下拉刷新

    这里的上拉加载,下拉刷新用到是依赖包 Mainactivity,xml解析和定位 package com.exmple.autolayout; import java.util.List; impor ...

  7. 【XML】xStream浅录

    XStream可以用来转换对象-XML,或者XML-对象. 官网地址:http://x-stream.github.io 小案例: 实体类 FileVo.java package cn.pinnsvi ...

  8. 搞懂 XML 解析,徒手造 WEB 框架

    恕我斗胆直言,对开源的 WEB 框架了解多少,有没有尝试写过框架呢?XML 的解析方式有哪些?能答出来吗?! 心中没有答案也没关系,因为通过今天的分享,能让你轻松 get 如下几点,绝对收获满满. a ...

  9. xml解析技术

    本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...

随机推荐

  1. AngularJS 中的 Promise 和 设计模式

    解决 Javascript 异步事件的传统方式是回调函数:调用一个方法,然后给它一个函数引用,当这个方法完结的时候执行这个函数引用. <!-- lang: js --> $.get('ap ...

  2. [转]C语言的那些秘密之---函数返回局部变量

    一般的来说,函数是可以返回局部变量的. 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了.因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错.但是如果返回的是局部变量的地 ...

  3. 进程外Session和进程内Session存储

  4. 为openwrt编译xd-h3c

    西电老校区,openwrt上用的认证软件. 在package下新建一目录"xd-h3c",在里面新建一个Makefile,内容如下: include $(TOPDIR)/rules ...

  5. QT:轻松获取网页源码

    获取网页源码的小例子,代码很简单,就不多作解释了. 不过一定要注意网页的编码问题,否则会出现乱码的!!! #include <QtCore> #include <QtNetwork& ...

  6. 【javascript 对日期的扩展 Format\addDays】

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(H).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  7. mfc subclasswindow attach setwindowlong使用区别

    1. CWnd::Attach BOOL Attach( HWND hWndNew ); 返回值:如果成功,则返回非零值:否则返回0. 参数: hWndNew 指定了Windows窗口的句柄. 说明: ...

  8. MFC Attach()函数和Detach()函数

    一.Windows对象和MFC对象的区别?MFC对象实际上并没有把整个Windows对象都包装在其中.对于窗口:MFC对象它只是有一个窗口句柄而已,这个窗口句柄如果指向一个实际存在的窗口对象(窗口对象 ...

  9. MongoDB 分片操作

    添加分片 use admin //添加分片节点,每个分片都是一个副本集[allowLocal:true仅仅开发时才将分片配置到本地,生产时不能这样] db.runCommand({addshard:& ...

  10. [转]Geoserver实现WFS操作

    From:http://liushaobo2005.blog.163.com/blog/static/253056702011541462372/ wfs是OGC的标准规范,主要用于提供对矢量地理数据 ...