前端之家收集整理的这篇文章主要介绍了
Pull解析器解析XML文件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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>