微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML的PULL解析

ull解析XML文件的方式与SAX解析XML文件的方式大致相同,他们都是基于事件驱动的。所以,利用pull解析XML文件需要下面几个步骤:

1)通过XMLPullParserFactory获取XMLPullParser对象。

2)通过XMLPullParser对象设置输入流。

3)通过parser.next(),持续的解析XML文件直到文件的尾部。

下面的几个方法是经常需要的:XMLPullParserFacotry.newInstance( ) facotry.newPullParser( ) parser.setInput( ) parser.next( ).

下面通过一个例子描述上面的几个步骤:

//1.第一步,创建解析工厂
XmlPullParserFactoryfactory=XmlPullParserFactory.newInstance();
//设置支持命名空间
factory.setNamespaceAware(true);
//2.生成parser对象
XmlPullParserparser=factory.newPullParser();
//3.设置输入
parser.setInput(newStringReader("<?xmlversion=\"1.0\"?><poem><title>静夜思</title><author>李白</author><content>床前明月光,疑似地上霜,举头忘明月,低头思故乡</content></poem>"));
//获取输入类型
inteventType=parser.getEventType();
while(eventType!=XmlPullParser.END_DOCUMENT)
{
if(eventType==XmlPullParser.START_DOCUMENT){
Log.d("tag","----"+parser.getName());
}
if(eventType==XmlPullParser.START_TAG){
Log.d("tag","----"+parser.getName());
}
if(eventType==XmlPullParser.TEXT){
Log.d("tag","----"+parser.getText());
}
if(eventType==XmlPullParser.END_TAG){
Log.d("tag","----"+parser.getName());
}
//不断的去更新
eventType=parser.next();
}

打印出的对象:


版权声明:感谢summerpxy分享,转载请取得原作者同意

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。