DOM (Document Object Model,文档对象模型) ,是W3C制定的标准接口规范,是一种处理HTML和XML文件的标准API。DOM提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个HTML标签或标签内的文本项。DOM树结构精确地描述了HTML文档中标签间的相互关联性。将HTML或XML文档转化为DOM树的过程称为解析 (parse)。HTML文档被解析后,转化为DOM树,因此对HTML文档的处理可以通过对DOM树的操作实现。
Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战” (browser wars) ,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,有VBScript、ActiveX、以及微软的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时酝酿出来的杰作。
DOM分为HTML DOM和XML DOM两种。它们分别定义了访问和操作HTML/XML文档的标准方法,并将对应的文档呈现为带有元素、属性和文本的树结构。DOM树结点的属性包括标记名 (node Name) 、结点类型 (node Type,取值为TagTxt) 、结点内容 (data) 、父结点对象集合 (parent Node) 、子结点对象集合 (first Child,last Child) 、兄弟结点对象集合 (previous Sibling,next Sibling) 等。
在应用过程中,基于DOM的HTML/XML分析器将一个HTML/XML文档转换成一棵DOM树,应用程序通过对DOM树的操作,来实现对HTML/XML文档数据的操作。Web页面的有效内容大多存在DOM树的叶结点中,DOM树中的其余结点主要用于表示内容分块及页面的外观特性。
资料来源:
*词条: Browser Wars
[1] 基于DOM模型扩展的Web信息提取.中国知网