android提供了一种新的解析XML的方式-------PULL,这种方式是android推荐使用的,它的代码简单,内容看起来更加紧凑与直观,解析方式性能上与SAX相近,都是使用事件驱动的方式进行解析,不同的是PULL返回的时间类型是整型.
过程如下:
创建工厂类XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
申明工厂类支持命名空间factory.setNamespaceAware(true);
创建解析器 XmlPullParser xpp = factory.newPullParser();
设置解析内容xpp.setInput(getAssets().open("min.xml"), "UTF-8");
开始解析:
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
persons = new ArrayList<Person>();
}else if(eventType == XmlPullParser.START_TAG) {
//Log.d("minrui","Start tag "+xpp.getName());
if("person".equals(xpp.getName())){
person = new Person();
person.setId(new Integer(xpp.getAttributeValue(0)));
}
preTag = xpp.getName();
} else if(eventType == XmlPullParser.END_TAG) {
// Log.d("minrui","End tag "+xpp.getName());
if("person".equals(xpp.getName())&&person!=null){
persons.add(person);