更多知识,更多乐趣

当前位置:首页软件开发Android → android 使用XStream解析xml

android 使用XStream解析xml

时间:2018-01-31 01:58:06来源:互联网我要评论(0)

1,要解析的xml文件文件

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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文件对应的封装类

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/**
*
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解析

?

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


相关文章

网友评论

热门评论

最新评论

发表评论 查看所有评论()

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

关于万荚 | 联系方式 | 发展历程 | 版权声明 | 帮助(?) | 网站地图 | 友情链接

Copyright 2005-2018 16WJ.COM 〖万荚网〗 版权所有 桂ICP备18000060号 |

声明: 本站所有文章来自互联网 如有异议 请与本站联系