加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML的PULL解析

发布时间:2020-12-16 08:52:33 所属栏目:百科 来源:网络整理
导读:ull解析XML文件的方式与SAX解析XML文件的方式大致相同,他们都是基于事件驱动的。所以,利用pull解析XML文件需要下面几个步骤: 1)通过XMLPullParserFactory获取XMLPullParser对象。 2)通过XMLPullParser对象设置输入流。 3)通过parser.next(),持续的解析

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的分享,转载请取得原作者同意

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读