博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android DOM解析XML示例程序
阅读量:6659 次
发布时间:2019-06-25

本文共 3742 字,大约阅读时间需要 12 分钟。

DOM方式解析xml是先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据的。DOM比较符合人的思维模式,但是其对内存的消耗比较大。

activity_main.xml

View Code

在assets目录下添加product.xml文件

因产自中国湖南安化县而得名。是中国古代名茶之一,上个世纪50年代曾一度绝产,以至于默默无名。2010年,湖南黑茶走进中国上海世博会,成为中国世博会十大名茶之一。安化黑茶再度走进茶人的视野,成为茶人的新宠。其特色的千两茶,堪称一绝。
http://baike.baidu.com/view/2255732.htm
起于汉、盛于明清的地方擂茶至今在湖南中部以北的安化一带传袭。其色味、功效、制作方法,以及饮茶习俗等,无不让途经于此的人感受到山乡古朴浓郁的擂茶文化。春暖花开的四月,记者跟随“环行洞庭湖”采访团走进了这个擂茶飘香的地方。
http://baike.baidu.com/view/66985.htm
View Code

创建Product类

/** *  */package com.hyzhou.domxml2;import java.io.Serializable;/** * @author hyzhou * * 2013-8-29 */public class Product implements Serializable {    /**     *      */    private static final long serialVersionUID = -6907670870626810002L;    private int length;    private String introducton;    private String imageurl;    private String name;    public int getLength() {        return length;    }    public void setLength(int length) {        this.length = length;    }    public String getIntroducton() {        return introducton;    }    public void setIntroducton(String introducton) {        this.introducton = introducton;    }    public String getImageurl() {        return imageurl;    }    public void setImageurl(String imageurl) {        this.imageurl = imageurl;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    }
View Code

创建MainActivity类,用于解析XML并显示结果

package com.hyzhou.domxml2;import java.io.InputStream;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;import android.os.Bundle;import android.util.Log;import android.widget.TextView;import android.app.Activity;public class MainActivity extends Activity {    private TextView    textView ;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        textView=(TextView)findViewById(R.id.textview01);         StringBuffer sb=new StringBuffer();            ArrayList
list= (ArrayList
) getProductFromXml("product.xml"); Iterator
it=list.iterator(); while(it.hasNext()) { Product myit=it.next(); sb.append(myit.getName()+" 长度:"+myit.getLength()+"\n"+myit.getImageurl() +"\n"+myit.getIntroducton()+"\n\n"); } Log.i("wa~~~~~",sb.toString()); textView.setText(sb.toString()); } public List
getProductFromXml(String fileName) { List
products=new ArrayList
(); DocumentBuilderFactory factory=null; DocumentBuilder builder=null; Document document=null; InputStream inputStream=null; //创建实例DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); try { //创建DocumentBuilder builder=factory.newDocumentBuilder(); //获取输入流 inputStream=this.getResources().getAssets().open(fileName); Log.i("inputStream", inputStream.toString()); //加载XML文档 document=builder.parse(inputStream); //找到根元素 Element root=document.getDocumentElement(); NodeList nodes=root.getElementsByTagName("product"); //遍历所有子结点 Product myproduct=null; for(int i=0;i
View Code

 

参考文档:

转载于:https://www.cnblogs.com/hyzhou/p/3289082.html

你可能感兴趣的文章
质检总局-版权局
查看>>
Delphi TstringList Stringlist的特殊用法
查看>>
python中快捷键f5_python shell(用的IDIE)程序编辑器中、菜单Edit→怎么没有Run Script选项、快捷键Ctrl+F5也没有、?...
查看>>
eu指什么_电力(EU)是什么意思
查看>>
乒乓球比赛赛程_乒乓球赛程_如何组织一场乒乓球赛
查看>>
ldap 389同步ad上的用户_关于LDAP接入设计方式的详细讲解
查看>>
java redis 自增计数器_【99期】中高级开发面试必问的Redis,看这篇就够了!
查看>>
evt dvt pvt mp代表什么阶段_什么是人设:抖音IP人设的商业价值你知道吗?
查看>>
天锋w2019_不知道为什么那么多人喜欢三星W2019,直到入手这款天锋W2019手机
查看>>
pcm输出还是源码输出_日本成辣条最大进口国?网友:文化输出还是得靠卫龙
查看>>
进栈顺序为abcd则出栈顺序为_矫正做题顺序,搞定行测高分
查看>>
为什么me域名不能备案_注册域名后要做解析吗?怎么操作?
查看>>
一秒钟世界上会发生多少事_这一秒钟,却不止一秒钟
查看>>
typescript的基本结构_Vue 3.0前的 TypeScript 最佳入门实践
查看>>
tp5指向public_TP5和VUE同域名, 宝塔二级域名配置
查看>>
git pull 是到工作区还是暂存区_打好地基Git学习
查看>>
win10删除多余账户_【凡凡经验05】win10进入安全模式的三种方法
查看>>
命令及串口命令_单片机很好玩5,花三分钟,学会使用电脑发送“命令”控制单片机...
查看>>
里写注释 postman_5步学完spring boot单元测试,与postman有什么优点?
查看>>
提取一行数据列表_实例30_一键往Word文档的表格中填写数据
查看>>