与SAX解析器模拟相似,也提供了类似的事件驱动.使用parser.next()可以进入下一个元素并触发相应事件。事件将作为数值代码被发送,因此可以使用一个switch对感兴趣的事件进行处理。当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型元素的值。
Pull模式解析步骤:
1、 得到一个XmlPullParser对象这里得到XMLPullParser对象的方式有两种:
1)通过Xml这个工具类的.newPullParser()方式得到
2)通过XmlPullParserFactory工厂创建
//得到XmlPullParserFacotry工厂
2、 再根据XmlPullParser对象设置输入流和编码格式
3、 然后循环遍历所有的结点可以通过文档开始的代码来判断读入到哪个节点
关于xmlparser.getEventType()其值有:
Start_DOCUMENT:文档开始
END_DOCUMENT:文档结束
START_TAG:开始读标签
END_TAG:标签结束
TEXT:所读的是文本内容
一个简单示例:
输出结果:
Start document
Start tag foo
Text Hello World!
End tag foo
person.xml: