欢迎光临
我们一直在努力

DOM概览-JSP教程,资料/其它

建站超值云服务器,限时71元/月

dom概览

作者: 常明 写作日期:2000-4-26

dom是对xml开发者相当重要的,对于xml应用开发来说就是一个对象化的xml数据接口。最基本的xml开发通常都要使用它。简单说,dom就是一组对象的集合,通过操纵这些对象,我们就能操纵xml和html数据。

dom全称是document object model,人如其名,dom就是一个文档对象组成的模型,它不光用于xml,最先是起于html的。对作过web开发的人,特别是写过动态dhtml的人,应该对html中的文档对象有一定概念,dom就是这样一个对象模型的标准。

dom另外又是一个接口,一个与语言无关的接口,应用通过这个接口来和xml或html内的数据打交道。无论是在浏览器里,还是在浏览器外,在服务器上,还是客户端,我们只要用xml就会碰到dom。

1. dom的来由

为什么要定义这样一个接口呢?这样讲吧,我们知道数据库有标准的odbc/jdbc这样的接口规范,那么我们使用xml数据如果没有一个统一的接口,我们写程序是不是要每个人都要自己去处理xml的语法细节,如果我们手头有xml的语法分析器(有人译为解析器),它也必然有一个接口让我们通过它访问xml数据,所有语法分析器的接口如果都不相同,我们开发就必须针对某一个分析器,如果换了分析器,程序就必须重写。到这里,又和数据库有可比性了,我们编数据库应用可以不管后面的数据库系统究竟是oracle还是sybase,或informix,是因为有了odbc,所以要是我们做xml应用开发,就应该有一个统一的xml数据接口,这个接口就是dom。

2. dom的三部分

目前的dom分为 核心(core)、html、xml三部分。

核心:

这部分是结构化文档比较底层的对象的集合,但他们就已经可以表达出任何html和xml文件了。

html和xml

这两部分是专为xml和html提供的另外的高级接口,使操纵者两类文件更方便。98年的只有html部分。

3.dom组成

这里有vance christiaanse给出的dom的一个整体的图,可以使大家有一个dom模型基本组成的概念。要看此图 请点这里(比较大哦)。

4 文件树

dom中的最基本对象应该就是node了。从它又派生出许多类型的node。所有这些node组成一棵文件树,它包含了xml或 html文档的几乎全部信息。

在结构化文档中,信息是按层次化的树形结构组织的。所以结构化文档的模型的组织也必然是树形的。

如一本书的组成是

书—-标题
    |  
    —正文—第一章—–第一节—段
           |
            –第二章 …..

node简单的说,就是上面树形结构中的节点,但对xml来说还包括其他xml语法相关的节点,包括xml声明,文件类型声明,处理指令等等。

node提供一些基本属性和操作,各种类型的node则继承node的属性和操作,同时有各自特殊的属性和操作。比如elementnode

5 基本对象

上面已经讲了dom中最基本的对象就是节点,它的接口定义如下:

从node派生出的几个比较重要的节点类型有document element, attribute,text:

document是dom树的根,它代表一个完整的xml文档。它会有一些自己的子节点,至少应该有一个文档元素的子节点,这个节点类型为element,是xml文件最外层的根元素,此外他还可能有documenttype(唯一),processinginstruction,comment这几种作为子节点。

element代表xml元素,是最常用的节点,它可以组成以它为根的dom的子树。他还可以有element子节点,以及attribut,text,processinginstruction,cdatasection,comment子节点。

attribute是xml元素的属性,它的父节点必然是element,它的子节点有text和entityreference。

除了node,dom里还有两个比较重要的对象:

nodelist它实现的一个节点的序列,用于表示有顺序关系的一组节点,比如某个节点的孩子节点序列,它还出现在一些方法的返回值中,例如getnodebyname。

namednodemap它表示的是一组节点和其唯一的名字的对应关系,这个对象主要用在属性节点的表示上。

 

6 dom的版本

目前的dom level one是w3c1998年8月18日通过的,现在w3c正在进行dom2的制定。

dom2我们将在以后的文章中介绍。

7 编程

dom 的具体使用和编程不是很难,现在dom的实现主要是以部件的形式提供比如msxml,和java实现比如xml4j。这两种实现,对我们使用它的接口来说,大同小异,但许多实现都加了自己的扩展的接口,这也是我们选择时考虑比较多的。

dom接口的具体的使用,我会在相关的文章中讨论。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » DOM概览-JSP教程,资料/其它
分享到: 更多 (0)