person.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<Persons>
<person id="1">
<name>张三</name>
<age>24</age>
</person>
<person id="2">
<name>李四</name>
<age>22</age>
</person>
</Persons>
解析代码:
public static List<Person> GetList(XmlResourceParser xmlResourceParser) throws Exception{
if(xmlResourceParser==null)return null;
List<Person> list=null;
Person p=null;
int root=xmlResourceParser.getEventType();
while (root!=XmlResourceParser.END_DOCUMENT){
switch (root){
case XmlResourceParser.START_DOCUMENT:
list=new ArrayList<Person>();
break;
case XmlResourceParser.START_TAG:
if("person".equals(xmlResourceParser.getName())){
int id=new Integer(xmlResourceParser.getAttributeValue(0));
p=new Person();
p.setId(id);
}
else if ("name".equals(xmlResourceParser.getName())){
String name=xmlResourceParser.nextText();
p.setName(name);
}
else if ("age".equals(xmlResourceParser.getName())){
int age=new Integer(xmlResourceParser.nextText());
p.setAge(age);
}
break;
case XmlResourceParser.END_TAG:
if("person".equals(xmlResourceParser.getName())){
list.add(p);
p=null;
}
break;
}
root=xmlResourceParser.next();
}
return list;
}