Android讀取XML文件中的數(shù)據(jù)
本文實(shí)例為大家分享了Android讀取XML文件中數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
讀取XML中存儲(chǔ)的數(shù)據(jù)。將xmlfile.xml存放在assets文件夾中。在activity_main.xml中創(chuàng)建一個(gè)textview,用來(lái)顯示讀取到的數(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>面向過(guò)程</type> </lan> <lan id="3"> <name>C#</name> <ide>vs</ide> <type>面向?qū)ο?lt;/type> </lan> </Languages>
MainActivity.java
使用的是W3C的包。
用builderfactory來(lái)創(chuàng)建builder。并用builder打開(kāi)assets的xml文件,創(chuàng)建出document。
讀出document的element。從element中獲取nodelist,再得到單個(gè)的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(); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android ProgressBar進(jìn)度條使用詳解
ProgressBar進(jìn)度條,分為旋轉(zhuǎn)進(jìn)度條和水平進(jìn)度條,進(jìn)度條的樣式根據(jù)需要自定義,這篇文章主要介紹了Android ProgressBar進(jìn)度條使用方法,感興趣的小伙伴們可以參考一下2016-02-02Android實(shí)現(xiàn)價(jià)格走勢(shì)自定義曲線圖
本篇文章主要介紹了Android實(shí)現(xiàn)價(jià)格走勢(shì)曲線圖,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04Android?debug包運(yùn)行正常release包崩潰的解決辦法
這篇文章主要介紹了Android?debug包運(yùn)行正常,release包崩潰解決辦法,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家解決問(wèn)題有一定的幫助,需要的朋友可以參考下2024-04-04Android實(shí)現(xiàn)右邊抽屜Drawerlayout效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)右邊抽屜Drawerlayout效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android中使用OkHttp包處理HTTP的get和post請(qǐng)求的方法
OkHttp包為安卓開(kāi)發(fā)中的HTTP協(xié)議網(wǎng)絡(luò)編程帶來(lái)了很大的便利,這里我們就來(lái)看一下最基本的、Android中使用OkHttp包處理HTTP的get和post請(qǐng)求的方法:2016-07-07安卓(android)仿電商app商品詳情頁(yè)按鈕浮動(dòng)效果
很多電商類app的商品詳情頁(yè)(其他app也有類似效果,比如qq音樂(lè))都有這么一個(gè)效果:當(dāng)用戶向上滑動(dòng)頁(yè)面內(nèi)容超過(guò)一定距離后,中間的標(biāo)題欄會(huì)卡在頂部,往下拉回到固定高度后又會(huì)消失。那么如何實(shí)現(xiàn)這個(gè)效果呢?跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)。2016-08-08Android顏色處理SweepGradient掃描及梯度渲染示例
這篇文章主要為大家介紹了Android顏色處理SweepGradient掃描渲染及梯度渲染示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06android獲取相冊(cè)圖片和路徑的實(shí)現(xiàn)方法
這篇文章主要介紹了android獲取相冊(cè)圖片和路徑的實(shí)現(xiàn)方法,本文介紹的是Android4.4后的方法,感興趣的小伙伴們可以參考一下2016-04-04