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/p/2696985.html