Pull解析器解析XML文件

来源:互联网 发布:箪食壶浆以迎将军乎 编辑:程序博客网 时间:2024/05/20 07:52
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>

0 0