使用DOM访问XML文档讲述.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 使用DOM访问XML文档 7.1 DOM概述 7.1.1 DOM简介 DOM的中文含义为文档对象模型,由一组代表HTML文档或者XML文档中不同组成部分的程序对象组成,这些对象提供了各自的属性和方法,使得应用程序开发者能够通过编写脚本程序来操纵和显示文档中相应的组件。 使用DOM技术访问XML文档,具有强大的功能和灵活性,不仅可用来编写访问本地XML文档的程序,还可用来编写访问服务器端XML文档的应用程序。 可以把DOM看作是一种ActiveX对象,它绑定封装了若干个对XML文档进行访问的API,应用程序开发者能够使用脚本语言来调用DOM对象的属性与方法,达到访问、操作XML文档各个组成部分的目的。 DOM 以树状的层次节点来储存XML文档中的所有数据,可以使用DOM节点树来访问任何形式的XML文档,并且可以使用DOM提供的编程接口来显示和操纵XML文档中的任何组件,包括元素、属性、处理指令、注释及实体等。 7.1.2 DOM与SAX 除了DOM方式之外,XML技术还提供了SAX方式来读取和处理XML文档的数据。SAX的英文名称为Simple API for XML,即应用于XML的简单API。 DOM的运作方式是将整个文档读入内存,并根据文档中定义的元素及其属性构建一个树型结构用来描述该文档。DOM方式提供了直接指向XML文档各组成部分的API,给程序设计带来了方便。但是,由于DOM方式首先将整个文档载入内存,然后生成一颗相应的节点对象树,当XML文档的数据量比较大或文档结构比较复杂时,将要占据大量的内存空间,其解析过程也会需要比较长的时间。 SAX方式针对处理大型XML文档和高吞吐量的情况作了优化,它会遍历整个文档,并逐一访问文档中的每一项内容。SAX方式的优点是:无论XML文档有多大,都只将下一项内容载入内存中。因为忽略了为文档内容创建一颗对象树的过程,而能更快地执行。 与DOM方式相比,SAX方式对XML文档的处理缺乏一定的灵活性和规范性,并且SAX应用程序一般都比较长,所以本章将只介绍通过DOM方式对XML文档的访问与处理。 7.1.3 DOM结构树 当IE浏览器内含的XML解析器处理被载入的XML文档并根据文档的逻辑结构生成一棵对应的DOM树时,它会为XML文档中的每一个基本组件建立一个树中的对应节点。这些基本组件包括元素、属性、注释、实体与处理指令等,DOM会使用不同类型的节点来代表不同类型的XML组件。表7-1列出了DOM节点的各种类型及简短说明。 7.2 DOM对象架构 7.2.1 DOM对象概述 IE浏览器支持的XML DOM为应用程序操纵和处理XML文档提供了各种DOM对象,表7-2列出了各种XML DOM对象及其对应节点的简短说明。 每一个不同的节点对象都有其特定的属性和方法,但也有许多共同的属性,表7-3列出了各种类型节点对象共有的一组属性。 除了共同具有的属性之外,各种类型的节点对象都提供了特有的属性和方法,来处理该节点类型所代表的特殊XML文档组件。 通过XML DOM对象的层次架构及其相关的属性,程序员可以从当前节点出发访问各个节点的信息。 7.2.2 Document对象 Document对象代表XML DOM树的根节点,同时代表了整个XML文档。该对象提供了对整个文档或文档中的数据进行访问和操作的许多属性和方法。 由于其他节点都是Document节点的子节点,所以通过Document对象可以访问文档中的各种节点,包括处理指令、注释、文档类型声明及根元素节点等。 表7-4列出了Document对象的一些特有属性。 表7-5列出了Document对象的常用方法及其说明。 7.2.3 Node对象 在XML DOM树中,除了根节点之外,每一个节点都是一个Node对象。所以Node对象可以对应于XML文档中的任意一个元素、属性、处理指令或注释等。 Node对象所具有的属性与所有对象共有的属性基本相同,利用Node对象具有的一些方法则可操纵当前节点及其子节点。 7.2.4 NodeList对象 NodeList对象是一系列相关节点的集合。例如,引用某个节点的childNodes 属性将返回一个包含该节点所有非属性子节点的NodeList对象。此外,调用某个节点对象的getNodeByName方法或者selectNodes方法,也可获得一个相应的NodeList对象。 要从NodeList 集合对象中取得一个指定的子节点,可以调用NodeList 对象的item 方法,并给出想取得的子节点的索引值(注意:子节点的索引值由零开始)。 NodeList 对象只有一个名为length的属性,用来表示NodeList 集合中子节点的个数。 7.2.5

文档评论(0)

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

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

1亿VIP精品文档

相关文档