android xml xstream解析,【Android 基础】 android Xml 解析之 XStream 解析

4cb4e8cfde18

image.png

XStream解析

XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换,将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件.

1. 下载路径

2. 常用方法API

(1)fromXML()方法,返回值是Object

xStream.fromXML( File file) ;

xStream.fromXML( InputStream in) ;

xStream.fromXML( Reader reader ) ;

xStream.fromXML( String xml ) ;

xStream.fromXML( URL url ) ;

xStream.fromXML( File file , Object root ) ;

xStream.fromXML( InputStream in , Object root ) ;

xStream.fromXML( Reader reader , Object root ) ;

xStream.fromXML( String xml , Object root ) ;

xStream.fromXML( URL url , Object root ) ;

(2)toXML()方法

xStream.toXML( Object object ) ; //返回值String

xStream.toXML( Object object , OutputStream out ); //返回值void

xStream.toXML( Object object , Writer writer ); //返回值void

(3)设置别名

根节点设置别名:参数一:别名 ; 参数二:当前的类名

xstream.alias( "blog" , Product.class ) ;

XStream 解析android项目 asset 文件夹 xml 文件

1. packageupdate.xml

1.0

1

1.00.01

1

5550672

A48F51DB26DE9EA8492AC5031647E8A2

2016-06-27

2. Java 实体类

Result.java

package com.sky.xsteamtoparserxml;

/**

* Created by JerryLiu on 2016/7/19.

*/

public class Result {

private String version;

private int upgradeMode;

private Packages packages;

public int getUpgradeMode() {

return upgradeMode;

}

public void setUpgradeMode(int upgradeMode) {

this.upgradeMode = upgradeMode;

}

public String getVersion() {

return version;

}

public void setVersion(String version) {

this.version = version;

}

public Packages getPackages() {

return packages;

}

public void setPackages(Packages packages) {

this.packages = packages;

}

}

package.java

package com.sky.xsteamtoparserxml;

/**

* Created by JerryLiu on 2016/7/19.

*/

public class Packages {

private String versionName;

private String url;

private int level;

private int size;

private String md5;

private String time;

private String desc;

public String getVersionName() {

return versionName;

}

public void setVersionName(String versionName) {

this.versionName = versionName;

}

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public int getLevel() {

return level;

}

public void setLevel(int level) {

this.level = level;

}

public int getSize() {

return size;

}

public void setSize(int size) {

this.size = size;

}

public String getMd5() {

return md5;

}

public void setMd5(String md5) {

this.md5 = md5;

}

public String getTime() {

return time;

}

public void setTime(String time) {

this.time = time;

}

public String getDesc() {

return desc;

}

public void setDesc(String desc) {

this.desc = desc;

}

}

3. 实现代码

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

String fileName = "packageupdate.xml";

InputStream in = null;

try {

in = getResources().getAssets().open(fileName);

XStream xStream = new XStream();

xStream.alias("result", Result.class);

Result result = (Result) xStream.fromXML(in);

LogUtils.d("version = " + result.getVersion() + "\nupgradeMode = " + result.getUpgradeMode());

LogUtils.d(result.getPackages());

} catch (IOException e) {

e.printStackTrace();

}

}

}

4. 运行结果

D/LogUtils-/MainActivity.onCreate(MainActivity.java:30): version = 1.0;

upgradeMode = 1;

Packages {desc = " 1、修正了有线连接显示问题 ",

versionName = "1.00.01",

md5 = "A48F51DB26DE9EA8492AC5031647E8A2",

url = " http://www.baidu.com",

time = "2016-06-27",

size = 5550672,

level = 1}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值