文档对象模型.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档对象模型

下载 第5章 文档对象模型 现在,应该开始研究 X M L 文档的结构,以及如何利用它描述层次化信息。下面,我们将说 明如何通过程序访问X M L 文档。其中一种方法是通过文档对象模型( Document Object Model , D O M )。在本章中,我们将介绍文档对象模型,并借助几个程序实例解释它的功能。 5.1 什么是文档对象模型 文档对象模型一词在We b浏览器领域并不陌生。窗口、文档和历史等对象都被认为是浏览器 对象模型的一部分。然而,任何做过 We b开发的人都知道各种浏览器实现这些对象的方式不尽相 同。对于如何通过We b访问和操作文档结构这个问题,为了创建更加标准化的方法, W 3 C提出 了目前的W3C DOM规范。 W3C DOM 是一种独立于语言和平台的定义,即:它定义了构成 D O M 的不同对象的定义, 却没有提供特定的实现,实际上,它能够用任何编程语言实现。例如,为了通过 D O M访问传统 的数据存储,可以将D O M 实现为传统数据访问功能之外的一层包装。利用 D O M 中的对象,开发 人员可以对文档进行读取、搜索、修改、添加和删除等操作。 D O M 为文档导航以及操作 H T M L 和X M L文档的内容和结构提供了标准函数。 5.1.1 XML文档结构 刚刚接触X M L 的开发人员常常会认为X M L 的主要目的是为文件中的信息片段命名,使之易 于被其他人理解。结果,这些新手开发的文档简直如同“标记汤”—无序的数据元素列表与 有意义的标记名称组合在一起,但是它与普通的文件一样都将信息置于同一层: 程序清单 5 - 1 许多开发人员都忽略了 X M L 能够显示元素之间的关系这一特性—特别是表示两个元素的父 112使用XML 高级编程 下载 子关系。如果将上述文件改写为以下形式,将产生更好的效果: 程序清单 5 - 2 在这种形式的文档中,发票元素显然包括四个行式项目子元素。它还简化了文档的搜索— 如果我们要寻找钚的所有订单,可以查询P R O D U C T属性值为“P l u t o n i u m ”的L I N E I T E M元素— 而不必依次查看每个P R O D U C T元素。 以上文档结构可以用图5 - 1 中的节点树表示,它显示了所有元素以及它们之间的相互关系。 如果要给文本文件中的发票增加行式项目,必须读取文件直至发票的最后一个行式项目的 末尾,插入新的行式项目文本,然后继续处理文档的后续部分。正如你所料,这种技术很快会 变得非常棘手,特别是当节点树变得越来越深时。然而,如果你能够根据树结构以节点形式对 文档进行操作,添加行式项目就轻而易举了 —只需创建新的 L I N E I T E M 节点,并将它作为 I N V O I C E节点的子节点。 图 5-1 这就是D O M 的工作原理。 当你使用D O M对X M L文本文件进行操作时,它首先要解析文件,将文件分解为独立的元素、 属性和注释等。然后,它以节点树的形式(在内存中)创建 X M L 文件的表示。此后,开发人员 可以通过节点树访问文档的内容,并根据需要修改文档。 事实上,D O M执行了更进一步的操作,它将文档中的每个项目看作节点—元素、属性、 注释、处理指令,甚至构成属性的文本。因此,对于我们上面的例子, D O M 实际上会将文档表 第5章 文档对象模型使用113 下载 示为图5 - 2所示的形式。 D O M提供了强大的接口集合,以简化对 D O M节点树的操作。 属性:C U S TO M E R 文本:Homer J.

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档