Android中解析XML的方法

來源:互聯網
上載者:User

標籤:android   style   blog   http   ar   io   color   os   sp   

假設我要解析如下的XML檔案:

1 <?xml version="1.0" encoding="UTF-8"?>2 <books>3     <book price="99.0" 出版日期="2008年">瘋狂java講義</book>4     <book price="199.0" 出版日期="2009年">瘋狂android講義</book>5     <book price="79.0" 出版日期="2010年">瘋狂講義</book>6 </books>

首先將該檔案放到res/xml檔案夾下,如果沒有可以手動建立,然後解析代碼如下:

 1 public void xmlparser(View v) { 2  3         XmlResourceParser xmlResourceParser = getResources().getXml(R.xml.books);// 擷取xml檔案的解析器 4         try { 5             StringBuilder sb = new StringBuilder(); 6             while (xmlResourceParser.getEventType() != XmlResourceParser.END_DOCUMENT) {// 如果沒有到文檔的結尾處 7                 if (xmlResourceParser.getEventType() == XmlResourceParser.START_TAG) {// 如果遇到標籤的開始標記,就開始讀取類容 8                     // 擷取標籤的簽名 9                     String tagName = xmlResourceParser.getName();10                     if (tagName.equals("book")) {11 12                         String bookPrice = xmlResourceParser.getAttributeValue(0);// 擷取標籤中的第一個屬性的值,這裡是“price”的值13                         String bookdata = xmlResourceParser.getAttributeValue(1);// 擷取標籤中的第二個屬性的值,這裡是“出版日期”的值14                         String bookName = xmlResourceParser.nextText();// 擷取文本節點的值,這裡是書的名字15 16                         sb.append("價格:");17                         sb.append(bookPrice);18                         sb.append("出版日期:");19                         sb.append(bookdata);20                         sb.append("書名:");21                         sb.append(bookName);22                         sb.append("\n");23                     }24 25                 }26                 xmlResourceParser.next();// 擷取解析器的下一個事件27 28             }29 30             textView.setText(sb.toString());31 32         } catch (XmlPullParserException e) {33             e.printStackTrace();34 35         } catch (IOException e) {36             e.printStackTrace();37         }38 39     }

解析後的結果如下:

Android中解析XML的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.