1、public class PersonService { public static 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("age".equals(pullParser.getName())){ int age=new Integer(pullParser.nextText()); person.setAge(age); } if("name".equals(pullParser.getName())){ String name=pullParser.nextText(); person.setName(name); } break; case XmlPullParser.END_TAG: if("person".equals(pullParser.getName())){ persons.add(person); person=null; } break; } event=pullParser.next(); } return persons; }调用上述方法
private static final String TAG = "PersonsServiceTest";
public void testGetPersons()throws Exception{
InputStream xml=this.getClass().getClassLoader().getResourceAsStream("person.xml"); //person.xml在src文件夹里
PersonService personservice=new PersonService();
List<Person> persons=personservice.getPersons(xml);
for(Person person : persons){ Log.i(TAG, person.toString()); } }
2、也可以public List<Person> getPersonsT(XmlResourceParser xml)throws Exception{ List<Person> persons=null; Person person=null; int event=xml.getEventType(); while(event!=XmlResourceParser.END_DOCUMENT){ switch (event) { case XmlResourceParser.START_DOCUMENT: persons=new ArrayList<Person>(); break; case XmlResourceParser.START_TAG: if("person".equals(xml.getName())){ int id=new Integer(xml.getAttributeValue(0)); person=new Person(); person.setId(id); } if("age".equals(xml.getName())){ int age=new Integer(xml.nextText()); person.setAge(age); } if("name".equals(xml.getName())){ String name=xml.nextText(); person.setName(name); } break; case XmlResourceParser.END_TAG: if("person".equals(xml.getName())){ persons.add(person); person=null; } break; } event=xml.next(); } return persons; }}调用上述方法public void testGetPersonsT()throws Exception{ XmlResourceParser xml=getContext().getResources().getXml(R.xml.person);//person.xml在xml文件夹里 PersonService personservice=new PersonService(); List<Person> persons=personservice.getPersonsT(xml); for(Person person : persons){ Log.i(TAG, person.toString()); } }
转载于:https://www.cnblogs.com/wdc224/p/3920558.html
相关资源:使用Pull解析器读取XML文件和生成XML文件