DOM那点事儿。。

DOM简介

DOM的接口和类

DOM的用法

1.DOM简介:

DOM是Document Object Model的缩写,即文档对象模型。

该模型定义了HTML和XML文件在内存中文档结构,提供了对HTML和XML文件的访问,储存的方法。利用DOM规范,可以实现DOM文档和XML之间的相互转换,对相应的DOM文档的内容进行遍历或其他的操作。

如果要自由的操作XML文件,就要用到DOM(文档对象模型)的规范。

DOM的原理简单点说,就是通过解析XML文档,为XML文档在逻辑上建立一个树模型,在DOM中有这个树的概念。

树的节点是一个个对象。我们通过存取这些对象就能够操作所谓的"XML"文档中的内容了。

<? version="1.0" encoding="GB2312" ?>
<!--使用DOM解析关于学生信息的XML文档,然后使用DOM的接口向该文档中添加关于教师的信息。最后再用改动后的XML文档替换该文档。程序运行前,学生信息的XML文档(class.xml)内容,如下图标所示-->
<班级>
              <学生 编号="A001">
	        <姓名>张三</姓名>
	           <年龄>20</年龄>
	           <电子邮件>zhangsan@163.com</电子邮件>
	           <身高>179.5</身高>
	           <电话>13351810278</电话>
	          <单位>北京百度有限公司</单位>
              </学生>

              <学生 编号="B001">
	        <姓名>李四</姓名>
	           <年龄>22</年龄>
	           <电子邮件>lisi@163.com</电子邮件>
	           <身高>180.5</身高>
	           <电话>13336982232</电话>
                        <单位>北京新浪限公司</单位>
               </学生>
</班级>

 2.DOM的优缺点对比

    DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都储存在你计算机的内存中,并且遍历简单,

支持XPath,增强了易用性。

 

DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。

在Java中DOM类的介绍

1.

DocumentBuilderFactory类

DocumentBuilderFactory类是一个抽象类,该类主要用于定义工厂的API,使用应用程序能够从XML文档中获取生成DOM对象树的解析器。该类位于java.xml.parsers包中。只有一个受保护的构造方法。

其构造方法如下:

protected DocumentBuilderFactory()方法:用于组织实例化的受保护构造方法。

2.DocumentBuilder类是一个抽象类,主要用于从XML文档中获取DOM文档实例。

可以用过DocumentBuilderFactory.new DocumentBuilder();代码获取此类的实例。

 

获取子类的实例后,将可以从各种输入流来解析XML。

 

该类有一个受保护的构造方法 如下:

protected DocumentBuilder();

DocumentBuilder类 其他的常用办法如下:

1).Document.parse(String uri)方法:将给定的URI的内容解析为一个XML文档,并且返回一个新的Document对象。

2).abstract Document new Document()方法:将获取DOM Document对象的一个新实例来生成一个DOM树。

3).void reset()方法:将此 DocumentBuider重置为其原始配置。

4).abstract void setEntityResolver(EntityResolver er)方法:指定使用EntityResolver 解析要解析的XML文档中存在的实体。

5).abstract void setErrorHandler(ErrorHandler eh)方法:指定解析器要使用的ErrorHandler. 

DOM的基本接口介绍

Document接口

Document接口表示整个HTML或XML文档。它不仅指文档的根,并提供对文档数据的基本访问。Document接口是对文档进行操作的入口,它是从Node接口继承过来的。该接口位于org.w3c.dom包中。

该接口的常用方法有以下几种: 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。太困了不写了。。待续中

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值