package com.study.service; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.util.Xml; import com.study.domain.Person; public class PersonService { public List<Person> getPersons(InputStream xml) throws Exception { List<Person> persons = null; Person person = null; XmlPullParser pullParser = Xml.newPullParser();// 得到破解器 pullParser.setInput(xml,"UTF-8"); int event = pullParser.getEventType(); while (event != XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT:// 开始文档 persons = new ArrayList<Person>(); break; case XmlPullParser.START_TAG:// 小标签 if ("person".equals(pullParser.getName())) { int id = new Integer(pullParser.getAttributeValue(0)); person = new Person(); person.setId(id); } if ("name".equals(pullParser.getName())) { String name = pullParser.nextText(); person.setName(name); } if ("age".equals(pullParser.getName())) { int age = new Integer(pullParser.nextText()); person.setAge(age); } break; case XmlPullParser.END_TAG: persons.add(person); person = null; } event = pullParser.next(); } return persons; } } package com.study.domain; public class Person { private int id; private String name; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>lining</name> <age>30</age> </person> <person id="20"> <name>tianchenglin</name> <age>21</age> </person> </persons>