Android读取XML文件中的数据
程序员文章站
2022-04-30 22:33:19
本文实例为大家分享了android读取xml文件中数据的具体代码,供大家参考,具体内容如下
读取xml中存储的数据。将xmlfile.xml存放在assets文件夹中。在...
本文实例为大家分享了android读取xml文件中数据的具体代码,供大家参考,具体内容如下
读取xml中存储的数据。将xmlfile.xml存放在assets文件夹中。在activity_main.xml中创建一个textview,用来显示读取到的数据。
xml文件内容如下: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来创建builder。并用builder打开assets的xml文件,创建出document。
读出document的element。从element中获取nodelist,再得到单个的node。注意要从item中取出字符内容。
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(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Django -- 单表操作