android之xml資料解析(Pull)

來源:互聯網
上載者:User

需要解析的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();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.