Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android XML數據解析簡單示例

Android XML數據解析簡單示例

編輯:Android開發實例

1、創建XML數據

在android工程目錄中res/目錄下創建raw文件夾,在raw文件夾內創建data.xml。

代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<data>
    <class>
        <c studentNum="1">Android</c>
        <c studentNum="2">IPhone</c>
    </class>
</data>

2、XML解析代碼

代碼如下:

import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  InputStream is = getResources().openRawResource(R.raw.data);
  try {
   byte[] bytes = new byte[is.available()];
   is.read();
   String XMLStr = new String(bytes,"utf-8");
   is.reset();
   System.out.println(XMLStr);
   
   DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
   Document doc = builder.parse(is);
   
   Node node = doc.getFirstChild();
   System.out.println("第一個子節點"+node.getNodeName());
   NodeList list = doc.getElementsByTagName("c");
   NamedNodeMap map;
   for(int i = 0; i < list.getLength(); i++)
   {
    node = list.item(i);
    map = node.getAttributes();
    System.out.println(node.getTextContent()+"  studentNum  "+map.getNamedItem("studentNum").getNodeValue());
   }
   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (ParserConfigurationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SAXException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved