android中要将xml解析为javaBean可以使用simple-xml解析,参考使用 Simple 简化 XML 序列化
通过使用注解方式注解javabean,然后调用下面的代码进行解析
Demo1
1.RootBean
public class Root {
@Element(name="return",required=false)
private String returnStr;
@Element(required=false)
private String returnflag;
@Element(required=false)
private int count;
@Element(required=false)
private int pageCount;
@ElementList(required=false)
private List<Row> value;
@Element(required=false)
private String keyvalue;
public Root() {
super();
// TODO Auto-generated constructor stub
}
public String getReturnStr() {
return returnStr;
}
public void setReturnStr(String returnStr) {
this.returnStr = returnStr;
}
public String getReturnflag() {
return returnflag;
}
public void setReturnflag(String returnflag) {
this.returnflag = returnflag;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public List<Row> getValue() {
return value;
}
public void setValue(List<Row> value) {
this.value = value;
}
public String getKeyvalue() {
return keyvalue;
}
public void setKeyvalue(String keyvalue) {
this.keyvalue = keyvalue;
}
@Override
public String toString() {
String re = "returnStr="+returnStr+",returnflag="+returnflag+",count="+count+",pageCount="+pageCount;
String valuestr=",value=[";
if(value!=null){
for(Row row : value){
valuestr += "{" + row.toString()+ "}";
}
}
valuestr += "]";
re+=valuestr;
return re;
}
2.RowBean
@Root
public class Row {
@Element(required=false)
private String first;
@Element(required=false)
private String second;
public Row() {
super();
// TODO Auto-generated constructor stub
}
public String getFirst() {
return first;
}
public void setFirst(String first) {
this.first = first;
}
public String getSecond() {
return second;
}
public void setSecond(String second) {
this.second = second;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "first="+first+",second="+second;
}
}
3.解析
String xml = <?xml version="1.0" encoding="utf-8" ?>
<root>
<return>00</return>
<count>13</count>
<pageCount>1</pageCount>
<value>
<row>
<first>张三</first>
<second>zhangsan</second>
</row>
<row>
<first>李四</first>
<second>lisi</second>
</row>
<row>
<first>王五</first>
<second>wangwu</second>
</row>
</value>
</root>;
Serializer serial = new Persister();
Object bean = serial.read(Root.class, xml);