Android讀取XML文件中的數(shù)據(jù)
本文實例為大家分享了Android讀取XML文件中數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
讀取XML中存儲的數(shù)據(jù)。將xmlfile.xml存放在assets文件夾中。在activity_main.xml中創(chuàng)建一個textview,用來顯示讀取到的數(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>面向對象</type> </lan> <lan id="2"> <name>C</name> <ide>VS</ide> <type>面向過程</type> </lan> <lan id="3"> <name>C#</name> <ide>vs</ide> <type>面向對象</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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Android?debug包運行正常release包崩潰的解決辦法
這篇文章主要介紹了Android?debug包運行正常,release包崩潰解決辦法,文中通過代碼示例介紹的非常詳細,對大家解決問題有一定的幫助,需要的朋友可以參考下2024-04-04
Android實現(xiàn)右邊抽屜Drawerlayout效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)右邊抽屜Drawerlayout效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
Android中使用OkHttp包處理HTTP的get和post請求的方法
OkHttp包為安卓開發(fā)中的HTTP協(xié)議網(wǎng)絡編程帶來了很大的便利,這里我們就來看一下最基本的、Android中使用OkHttp包處理HTTP的get和post請求的方法:2016-07-07
Android顏色處理SweepGradient掃描及梯度渲染示例
這篇文章主要為大家介紹了Android顏色處理SweepGradient掃描渲染及梯度渲染示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06

