DOM--何为文档对象模型

定义

文档对象模型的全名 ’ Document Object Model’,简称DOM。是W3C组织推荐处理"可扩展置标语言"的标准编程接口。它是一种平台与语言无关的应用程序接口(API),它可以动态的访问程序和脚本,更新其内容、结构、WWW文档的风格(目前,html和xml文档是通过说明部分定义的)。文档可以进一步处理,处理的结果可以加入到当前的页面。DOM是基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。另一种简单的API是基于事件的SAX,它可以用于处理很大的XML文档,由于大,所以不适合放在存储器中处理。

文档对象模型DOM
DOM即文档对象模型,是W3制定的标准接口规范,是一种处理HTML和XML文件的标准API。DOM提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个节点表示了一个HTML标签或标签内的文本项。DOM树结构精确的描述 了HTML文档中标签间的相互联系。将HTML或XML文档转换为DOM树的过程称为解析(parse)。HTML文档被解析后,转化为DOM树,因此对HTML文档的处理可以通过对DOM树的操作实现。DOM模型不仅描述了文档的结构,还定义了节点对象的行为,利用对象的方法和属性,可以地方便的访问、修改、添加、删除DOM树的结点和内容。

特征

Document Object Model(DOM)的历史可以追溯到1990年代后期微软与Netscape(网景)的“浏览器大战”(browser wars),双方为了JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,计有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。
DOM分为HTML DOM和XML DOM两种。它们分别定义了访问和操作HTML/XML文档的标准方法,并将对应的文档呈现为带有元素、属性和文本的树结构(节点树)

1)DOM树定义了HTML/XML文档的逻辑结构,给出了一种应用程序访问和处理XML文档的方法。

2)在DOM树中,有一个根节点,所有其他的节点都是根节点的后代。

3)在应用过程中,基于DOM的HTML/XML分析器将一个HTML/XML文档转换成一棵DOM树,应用程序通过对DOM树的操作,来实现对HTML/XML文档数据的操作。

接口

一、Node接口:它是文档中节点的基类型。定义了基本的访问和改变文档结构的方法。

二、Document接口:它代表整个文档。可创建文档中的各种节点(元素、注释、处理指令等),创建的节点中带有一个OwnerDoculnent属性表示创建它们的Document对象。

三、DocumentFragment接口:它代表文档树的子树,相当一个小型文档。

四、Attr接口:它代表元素节点的属性。有意思的是它并不认为是该元素节点的子节点,不构成DOM树的一部分。同时也不是DocumentFragment节点的直接子节点。

五、CharacterData接口:它维护了DOMsitrgn字符串并提供读写操作的接口。但不直接对应文档的某种类型节点。

六、Text接口:它从CharacterData继承而来。代表元素或属性的一段连续的文本内容。它有一个派生的接口CDATAsection,目的是:CDATASeciton节点的内容将不会作任何转化;使用Node中的nomraliez方法时相邻的Text节点会合并成一个节点,但使用CDATASeciton可避免合并。

七、Comment接口:它也从CharacterData继承而来。代表注释中的文本内容。

八、NodeList接口:用于管理有序的节点集。

九、Entity接口:它代表实体;EntityReference代表实体的引用。

十、NamedNodeMap接口:用于管理无序的节点集。

十一、DOMImplementation接口:它提供与DOM模型的实例无关的接口。CreateDocument可创建一个Document对象;haseFature可判断DOM实现是否支持某一模块。

十二、Notation接口:它代表文档中的符号定义。

十三、ProcessingInstruction接口:它代表处理指令。

十四、DOMException接口:异常处理。由于程序中的逻辑错误、数据丢失或DOM实现本身不稳定引起的错误。在程序处理过程中,由方法返回一个错误值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值