欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android读取XML文件中的数据

程序员文章站 2022-04-30 22:33:19
本文实例为大家分享了android读取xml文件中数据的具体代码,供大家参考,具体内容如下 读取xml中存储的数据。将xmlfile.xml存放在assets文件夹中。在...

本文实例为大家分享了android读取xml文件中数据的具体代码,供大家参考,具体内容如下

读取xml中存储的数据。将xmlfile.xml存放在assets文件夹中。在activity_main.xml中创建一个textview,用来显示读取到的数据。

Android读取XML文件中的数据

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();
 }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。