android之xml数据解析(Pull)

需要解析的XML:

<? xml version="1.0" encoding="utf-8" ?>
< persons >
    < person  id ="23" >
        < name >张老师 </ name >
        < age >21 </ age >
    < persion >
    < person  id ="20" >
        < name >李老师 </ name >
        < age >25 </ age >
    < persion >

</persons>  


需要在这里下载响应的jar包:http://www.xmlpull.org/v1/download/unpacked/doc/ 


Java主要文件:

// 创建一个xml解析的工厂
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
// 获得xml解析类的引用
XmlPullParser parser = factory.newPullParser();
// 以流的方式传入需要解析的xml数据
parser.setInput(java.io.Reader in);
// 获得事件的类型
int eventType = parser.getEventType();
// 判断是否到了文档结束位置
while(eventType!=XmlPullParser.END_DOCUMENT){
    switch(eventType){
       // 开始读文档
       case XmlPullParser.START_DOCUMENT:
          break
       // 遇到标签元素
       case XmlPullParser.START_TAG:
          if("person".equals(parser.getName())){
             // 取出属性值,0是代表第0个属性
             int id = Integer.parseInt(parser.getAttributeValue(0));
         }  else  if("name".equals(parser.getName())){
             // 获取该节点的内容 
            String name = parser.netText();
         } else  if("age".equals(parser.getName())){
             // 获取该节点的内容 
            String age = parser.netText();
         }
          break
       // 标签结束
       case XmlPullParser.END_TAG:
           if("person".equals(parser.getName())){
              // 这里可以做一些初始化
          }
          break;
   }
     // 循环
    eventType = parser.next();

转载于:https://www.cnblogs.com/lee0oo0/archive/2012/09/21/2696985.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值