第七章DOM接口技术要点.doc

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

第七章DOM接口技术 主要内容 DOM概述 DOM规范主要接口 JAXP、DOM和解析器 JAXP读取XML文档信息 JAXP编辑XML文档 JAXP生成XML文档 难点 JAXP操作XML文档 现在,应该开始研究XML文档的结构,以及如何利用它描述层次化信息。下面,我们将说明如何通过程序访问XML文档。其中一种方法是通过文档对象模型(Document Object Model,DOM)。在本章中,我们将介绍文档对象模型,并借助几个程序实例解释它的功能。 7.1 什么是文档对象模型 文档对象模型一词在Web浏览器领域并不陌生。窗口、文档和历史等对象都被认为是浏览器对象模型的一部分。然而,任何做过Web开发的人都知道各种浏览器实现这些对象的方式不尽相同。对于如何通过Web访问和操作文档结构这个问题,为了创建更加标准化的方法, W3C提出了目前的W3C DOM规范。 W3C DOM是一种独立于语言和平台的定义,即:它定义了构成DOM的不同对象的定义,却没有提供特定的实现,实际上,它能够用任何编程语言实现。例如,为了通过DOM访问传统的数据存储,可以将DOM实现为传统数据访问功能之外的一层包装。利用DOM中的对象,开发人员可以对文档进行读取、搜索、修改、添加和删除等操作。DOM为文档导航以及操作HTML和XML文档的内容和结构提供了标准函数。 7.1.1 XML文档结构 刚刚接触XML的开发人员常常会认为XML的主要目的是为文件中的信息片段命名,使之易于被其他人理解。结果,这些新手开发的文档简直如同“标记汤”—无序的数据元素列表与有意义的标记名称组合在一起,但是它与普通的文件一样都将信息置于同一层。 ?xml version=”1.0”? 订单 客户陈红/客户 地址大学路100号地址 城市南宁/城市 产品芒果/产品 数量30/数量 产品荔枝/产品 数量130/数量 产品木瓜/产品 数量60/数量 /订单 许多开发人员都忽略了XML能够显示元素之间的关系这一特性—特别是表示两个元素的父子关系。如果将上述文件改写为以下形式,将产生更好的效果: ?xml version=”1.0”? 订单 客户 姓名陈红/姓名 地址大学路100号/地址 城市南宁/城市 /客户 ITEM 产品芒果/产品 数量30/数量 /ITEM ITEM 产品荔枝/产品 数量130/数量 /ITEM ITEM 产品木瓜/产品 数量60/数量 /ITEM /订单 此文档在浏览器中的显示形式如图7.1所示。 图7.1 XML文档在IE浏览器中显示效果 在这种形式的文档中,发票元素显然包括四个子元素。它还简化了文档的搜索—如果我们要寻找木瓜的所有订单,可以查询“产品”子元素为“木瓜”的ITEM元素—而不必依次查看每个“产品”元素。 以上文档结构可以用图7.2中的节点树表示,它显示了所有元素以及它们之间的相互关系。如果要给文本文件中的发票增加项目,必须读取文件直至发票的最后一个项目的末尾,插入新的项目文本,然后继续处理文档的后续部分。正如你所料,这种技术很快会变得非常棘手,特别是当节点树变得越来越深时。然而,如果你能够根据树结构以节点形式对文档进行操作,添加项目就轻而易举了—只需创建新的ITEM节点,并将它作为“订单”节点的子节点。 图 7.2 文档分层结构图 这就是DOM的工作原理。 当你使用DOM对XML文本文件进行操作时,它首先要解析文件,将文件分解为独立的元素、属性和注释等。然后,它以节点树的形式(在内存中)创建XML文件的表示。此后,开发人员可以通过节点树访问文档的内容,并根据需要修改文档。 事实上, DOM执行了更进一步的操作,它将文档中的每个项目看作节点—元素、属性、注释、处理指令,甚至构成属性的文本。因此,对于我们上面的例子, DOM实际上会将文档表示为图7.3所示的形式。 图7.3 DOM节点树图 图中文档为根节点,是访问整棵树的入口,其子节点可以是根元素、处理指令、注释等类型的节点。本图中根元素为“订单”,处理指令为?xml version=”1.0”?,注释本例没有。一般地讲,元素类型的节点可以有的子节点类型为元素类型和文本类型。本例中根节点的子节点为4个元素类型,客户和3个ITEM。客户节点又有三个元素型子节点“姓名”、“地址”和“城市”。每个ITEM节点包含两个元素“产品”和“数量”。图中最后一行中的节点类型为文本型的节点是分析时需要特别注意的地方,因为稍不注意就可能认为姓名的值为陈红而不是将之作为两个不同类型的节点。在DOM节点树分析中还有一点需特别注意,有些元素含有属性,属性类型的节点也出现在DOM树中,它只能和元素类型的节点相关联,而

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档