Dom解析xml

1.Dom解析xml优势:可以整个读取xml文件,作为一个元素来使用,全部放置到内存中,更快,解析起来也相对简单很多。


2.操作方式:

首先创建一个xml文件,as中有两种方式,一种是通过assert资源文件来创建,另一种是通过res/raw来创建,说明这里建立了一个filter.xml文件。

然后实现读取数据的操作:

这里分为如下几部分:

1)获取xml文件:

首先建立一个assert文件夹,建立方式为如图:


然后在assets目录中创建资源文件,创建方式为:


这里要记得在命名后面加.xml,不然无法保存为xml文件。

创建成功后如图:



然后就是编写xml文件中的属性。

具体没有特别的编写规范,符合要求即可(本文主要目的是实现获取packagename属性,所以编写截图如下):



当写完这个的时候,就可以进行获取和解析了。

2)读取xml文件的方式,主要如下:

InputStream is = mContext.getAssets().open("filter.xml");
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(is);
            doc.getDocumentElement().normalize();

解释:

1、调用 DocumentBuilderFactory.newInstance() 方法得到 DOM 解析器工厂类实例。
2、调用解析器工厂实例类的 newDocumentBuilder() 方法得到 DOM 解析器对象
3、调用 DOM 解析器对象的 parse() 方法解析 XML 文档得到代表整个文档的 Document 对象


原理解释:

可以参考如图(原文链接:http://www.cnblogs.com/plokmju/p/android_DOMforXML.html):


Node:获取的是最基本的一个元素,比如获得最基本的一个参数的值。

Element:虽然叫元素,但不是固定大小的,可以是包含很多个的,也可以是包含一个的,同时也是可以不同类型的。

NodeList:类似于数组的使用方式,包含的是多个相同类型的element,为了使用的方便,一般会获取NodeList的length,通过for循环来历遍使用。


这里附上Demo,方便大家参考:

下载地址 http://download.csdn.net/download/hacker_crazy/8782921

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值