XmlPullParser 解析xml文件

 1     public static List<Person> getPersons(InputStream xml) throws Exception{
 2         List<Person> persons = null;
 3         Person person = null;
 4         XmlPullParser pullParser = Xml.newPullParser();
 5         pullParser.setInput(xml, "UTF-8");//为Pull解析器设置要解析的XML数据
 6         int event = pullParser.getEventType();
 7         while(event != XmlPullParser.END_DOCUMENT){
 8             switch (event) {
 9             case XmlPullParser.START_DOCUMENT:
10                 persons = new ArrayList<Person>();
11                 break;
12                 
13             case XmlPullParser.START_TAG:
14                 if("person".equals(pullParser.getName())){
15                     int id = new Integer(pullParser.getAttributeValue(0));
16                     person = new Person();
17                     person.setId(id);
18                 }
19                 if("name".equals(pullParser.getName())){
20                     String name = pullParser.nextText();
21                     person.setName(name);
22                 }
23                 if("age".equals(pullParser.getName())){
24                     int age = new Integer(pullParser.nextText());
25                     person.setAge(age);
26                 }
27                 break;
28                 
29             case XmlPullParser.END_TAG:
30                 if("person".equals(pullParser.getName())){
31                     persons.add(person);
32                     person = null;
33                 }
34                 break;
35             }
36             event = pullParser.next();
37         }
38         return persons;
39     }

 

posted @ 2015-05-05 23:52  Colaless  阅读(186)  评论(0编辑  收藏  举报