XML的PULL解析
博客专区 > Qloop 的博客 > 博客详情
XML的PULL解析
Qloop 发表于2年前
XML的PULL解析
  • 发表于 2年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

     1)通过XMLPullParserFactory获取XMLPullParser对象。

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

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

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

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

//1.第一步,创建解析工厂
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
//设置支持命名空间
factory.setNamespaceAware(true);
//2.生成parser对象          
XmlPullParser parser = factory.newPullParser();
//3.设置输入
parser.setInput(new StringReader("<?xml version=\"1.0\" ?><poem><title>静夜思</title><author>李白</author><content>床前明月光,疑似地上霜,举头忘明月,低头思故乡</content></poem>"));
//获取输入类型
int eventType = 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的分享,转载请取得原作者同意

共有 人打赏支持
粉丝 0
博文 1
码字总数 0
×
Qloop
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: