使用DOM访问XML文档

使用DOM访问XML文档

ID:41527048

大小:245.01 KB

页数:47页

时间:2019-08-26

使用DOM访问XML文档_第1页
使用DOM访问XML文档_第2页
使用DOM访问XML文档_第3页
使用DOM访问XML文档_第4页
使用DOM访问XML文档_第5页
资源描述:

《使用DOM访问XML文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章使用DOM访问XML文档7.1DOM概述7.1DOM对象架构7.2DOM客户端编程访问XML7.3DOM服务器端编程访问XML7.47.1DOM概述7.1.1DOM简介DOM的中文含义为文档对象模型,由一组代表HTML文档或者XML文档中不同组成部分的程序对象组成,这些对象提供了各自的属性和方法,使得应用程序开发者能够通过编写脚本程序来操纵和显示文档中相应的组件。使用DOM技术访问XML文档,具有强大的功能和灵活性,不仅可用来编写访问本地XML文档的程序,还可用来编写访问服务器端XML文档的应用程序。可以把DOM看作是一种ActiveX对象,它绑定封装了若干个对XML文档进行访问的

2、API,应用程序开发者能够使用脚本语言来调用DOM对象的属性与方法,达到访问、操作XML文档各个组成部分的目的。DOM以树状的层次节点来储存XML文档中的所有数据,可以使用DOM节点树来访问任何形式的XML文档,并且可以使用DOM提供的编程接口来显示和操纵XML文档中的任何组件,包括元素、属性、处理指令、注释及实体等。7.1.2DOM与SAX除了DOM方式之外,XML技术还提供了SAX方式来读取和处理XML文档的数据。SAX的英文名称为SimpleAPIforXML,即应用于XML的简单API。DOM的运作方式是将整个文档读入内存,并根据文档中定义的元素及其属性构建一个树型结构用来描述该

3、文档。DOM方式提供了直接指向XML文档各组成部分的API,给程序设计带来了方便。但是,由于DOM方式首先将整个文档载入内存,然后生成一颗相应的节点对象树,当XML文档的数据量比较大或文档结构比较复杂时,将要占据大量的内存空间,其解析过程也会需要比较长的时间。SAX方式针对处理大型XML文档和高吞吐量的情况作了优化,它会遍历整个文档,并逐一访问文档中的每一项内容。SAX方式的优点是:无论XML文档有多大,都只将下一项内容载入内存中。因为忽略了为文档内容创建一颗对象树的过程,而能更快地执行。与DOM方式相比,SAX方式对XML文档的处理缺乏一定的灵活性和规范性,并且SAX应用程序一般都比较

4、长,所以本章将只介绍通过DOM方式对XML文档的访问与处理。7.1.3DOM结构树当IE浏览器内含的XML解析器处理被载入的XML文档并根据文档的逻辑结构生成一棵对应的DOM树时,它会为XML文档中的每一个基本组件建立一个树中的对应节点。这些基本组件包括元素、属性、注释、实体与处理指令等,DOM会使用不同类型的节点来代表不同类型的XML组件。表7-1列出了DOM节点的各种类型及简短说明。表7-1DOM节点的各种类型节点类型说明节点名称Document文档根节点(代表整个XML文档)#documentElement元素节点元素的实际名称Attribute属性节点属性的实际名称Text属于元

5、素或属性的文本内容#TextProcessingInstruction处理指令节点处理指令的实际名称(例如xml)Comment注释节点#commentCDATASectionCDATA区段#cdata-sectionDocumentType代表的节点DTD声明中的文档类型名称EntityDTD中的声明实体名称(例如image)NotationDTD中的符号声明符号名称(例如BMP)对于书中的CustomerDom.xml范例文档,将生成如下图所示的DOM结构树。7.2DOM对象架构7.2.1DOM对象概述IE浏览器支持的XMLDOM为应

6、用程序操纵和处理XML文档提供了各种DOM对象,表7-2列出了各种XMLDOM对象及其对应节点的简短说明。表7-2各种XMLDOM对象对象说明XMLDOMDocument表示DOM树的最顶层节点,即根节点XMLDOMNode表示DOM树中除根节点之外的某一个节点XMLDOMNodeList表示某个父节点之下的一系列兄弟节点的集合XMLDOMParseError返回错误信息,包括错误编号、出错位置等一些相应的描述信息XMLDOMAttribute代表一个属性节点XMLDOMDocumentType代表文档类型描述的相关信息每一个不同的节点对象都有其特定的属性和方法,但也有许多共同的属性,表

7、7-3列出了各种类型节点对象共有的一组属性。表7-3所有类型节点共有属性属性说明attributes返回包含该节点所有属性的NamedNodeMap集合(只读)childNodes返回包含该节点所有非属性子节点的NodeList集合(只读)dataType返回该节点数据类型(可读写)firstChild该节点的第一个非属性的子节点(只读)lastChild该节点的最后一个非属性子节点(只读)nextSibling返回位于同一层级的下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。