android 使用XStream解析xml的实例

 更新时间:2018年01月30日 09:15:33   作者:burn_wang  
下面小编就为大家分享一篇android 使用XStream解析xml的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1,要解析的xml文件文件

xml="<apps>\n" +
" <app>\n" +
"  <id>1</id>\n" +
"  <name>burn</name>\n" +
"  <version>1.0</version>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
" </app>\n" +
" <app>\n" +
"  <id>2</id>\n" +
"  <name>burn2</name>\n" +
"  <version>2.1</version>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
" </app>\n" +
" <app>\n" +
"  <id>3</id>\n" +
"  <name>burn3</name>\n" +
"  <version>3.2</version>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
"  <info>\n" +
"   <size>10.5</size>\n" +
"   <message>hhhhhhhh</message>\n" +
"  </info>\n" +
" </app>\n" +
"</apps>";

2,新建xml文件对应的封装类

/**
* 
xml数据对应的封装类(注意实体类和xml数据的对应关系,所有标签都得对应)
*/
@XStreamAlias("apps")//配置标签别名
public class AppBean {


@XStreamImplicit//忽略集合根节点
private List<App> app_list;


//必须有无参构造方法
public AppBean() {
}


public AppBean(List<App> app_list) {
this.app_list = app_list;
}


public List<App> getApp_list() {
return app_list;
}


public void setApp_list(List<App> app_list) {
this.app_list = app_list;
}


@XStreamAlias("app")
public static class App{


private long id;
private String name;
private String version;


@XStreamImplicit
private List<Infor> infor_list;


public App() {
}


public App(long id, List<Infor> infor_list, String name, String version) {
this.id = id;
this.infor_list = infor_list;
this.name = name;
this.version = version;
}


public long getId() {
return id;
}


public void setId(long id) {
this.id = id;
}


public List<Infor> getInfor_list() {
return infor_list;
}


public void setInfor_list(List<Infor> infor_list) {
this.infor_list = infor_list;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public String getVersion() {
return version;
}


public void setVersion(String version) {
this.version = version;
}


@XStreamAlias("info")
public static class Infor{


private String message;
private double size;


public Infor() {
}


public Infor(String message, double size) {
this.message = message;
this.size = size;
}


public String getMessage() {
return message;
}


public void setMessage(String message) {
this.message = message;
}


public double getSize() {
return size;
}


public void setSize(double size) {
this.size = size;
}
}
}
}

3,开始xml解析

XStream xStream=new XStream();
xStream.processAnnotations(AppBean.class);//声明使用注解的类
AppBean ab2= (AppBean) xStream.fromXML(xml);//xml-->Bean,只能解析为对象,不能解析为集合
String xml=xStream.toXML(AppBean.class)//Bean-->xml

以上这篇android 使用XStream解析xml的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Android使用系统相机进行拍照的步骤

    Android使用系统相机进行拍照的步骤

    这篇文章主要介绍了Android使用系统相机进行拍照的步骤,帮助大家更好的进行Android开发,感兴趣的朋友可以了解下
    2020-12-12
  • Android仿京东淘宝自动无限循环轮播控件思路详解

    Android仿京东淘宝自动无限循环轮播控件思路详解

    在App的开发中,很多的时候都需要实现类似京东淘宝一样的自动无限轮播的广告栏,这里小编写了一个,分享到脚本之家平台供大家参考
    2017-04-04
  • android指定DatePickerDialog样式并不显示年的实现代码

    android指定DatePickerDialog样式并不显示年的实现代码

    下面小编就为大家带来一篇android指定DatePickerDialog样式并不显示年的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
    2016-08-08
  • Kotlin Fragment的具体使用详解

    Kotlin Fragment的具体使用详解

    Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段
    2022-10-10
  • Android实现无限循环滚动

    Android实现无限循环滚动

    这篇文章主要为大家详细介绍了Android实现无限循环滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Android仿微信键盘切换效果

    Android仿微信键盘切换效果

    这篇文章主要为大家详细介绍了Android仿微信键盘切换效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Flutter 实现酷炫的3D效果示例代码

    Flutter 实现酷炫的3D效果示例代码

    这篇文章主要介绍了Flutter 实现酷炫的3D效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Flutter网络请求Dio库的使用及封装详解

    Flutter网络请求Dio库的使用及封装详解

    本文主要介绍了Flutter网络请求Dio库的使用及封装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • android实现微信联合登录开发示例

    android实现微信联合登录开发示例

    本篇文章主要介绍了android实现微信联合登录开发示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Android 仿日历翻页、仿htc时钟翻页、数字翻页切换效果

    Android 仿日历翻页、仿htc时钟翻页、数字翻页切换效果

    这篇文章主要介绍了Android 仿日历翻页、仿htc时钟翻页、数字翻页切换效果,需要的朋友可以参考下
    2017-07-07

最新评论