溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android讀取XML文件中的數(shù)據(jù)

發(fā)布時間:2020-09-21 18:14:06 來源:腳本之家 閱讀:234 作者:RustFisher 欄目:移動開發(fā)

本文實例為大家分享了Android讀取XML文件中數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下

讀取XML中存儲的數(shù)據(jù)。將xmlfile.xml存放在assets文件夾中。在activity_main.xml中創(chuàng)建一個textview,用來顯示讀取到的數(shù)據(jù)。

Android讀取XML文件中的數(shù)據(jù)

XML文件內(nèi)容如下:xmlfile.xml

<?xml version="1.0" encoding="UTF-8"?>
<Languages cat="it">
 <lan id="1">
 <name>Java</name>
 <ide>Eclipse</ide>
 <type>面向?qū)ο?lt;/type>
 </lan>
 <lan id="2">
 <name>C</name>
 <ide>VS</ide>
 <type>面向過程</type>
 </lan>
 <lan id="3">
 <name>C#</name>
 <ide>vs</ide>
 <type>面向?qū)ο?lt;/type>
 </lan>
 
</Languages>

MainActivity.java

使用的是W3C的包。

用builderfactory來創(chuàng)建builder。并用builder打開assets的xml文件,創(chuàng)建出document。

讀出document的element。從element中獲取nodelist,再得到單個的node。注意要從item中取出字符內(nèi)容。

import java.io.IOException;
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
 
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
 
public class MainActivity extends Activity {
 
 TextView text;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 text = (TextView) findViewById(R.id.text);
 
 try {
  DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder;
  builder = builderFactory.newDocumentBuilder();
  Document document = builder.parse(getAssets().open("xmlfile.xml"));
  Element element = document.getDocumentElement();
  NodeList nodeList = element.getElementsByTagName("lan");
  text.append("\n");
  for (int i = 0; i < nodeList.getLength(); i++) {
  Element lan = (Element) nodeList.item(i);
  text.append(lan.getAttribute("id") + "\n");
  text.append(lan.getElementsByTagName("name").item(0).getTextContent() + " ");
  text.append(lan.getElementsByTagName("ide").item(0).getTextContent() + " ");
  text.append(lan.getElementsByTagName("type").item(0).getTextContent() + " ");
  text.append("\n");
  }
 
 } catch (ParserConfigurationException e) {
  e.printStackTrace();
 } catch (SAXException e) {
  e.printStackTrace();
 } catch (IOException e) {
  e.printStackTrace();
 }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI