第七章 XML应用编程(DOM)

更新时间:2023-08-05 10:16:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XML

技 术 基 础

E C J T U N I V E R S I T Y

《XML技术基础》第七章 XML应用编程

人民邮电出版社

引言

2

XML 仅仅用来存放数据,其他的工作都交给相应 的应用程序来完成。例如,XML数据的显示是由 样式单文件来控制的。 更多的针对XML数据的操作,如XML数据的读写, XML数据的添加、删除、修改、查询、管理等工 作,都需要用户利用XML编程接口开发相应的应 用程序来完成。

人民邮电出版社

本章目标 XML 编程接口与解析器 DOM接口介绍 DOM文档对象模型 DOM的常用接口 DOM的应用– – – – DOM编程一般步骤 遍历XML文档 动态创建XML文档 DOM节点树的修改与删除

3

作业与小结人民邮电出版社

XML 编程接口与解析器 XML编程接口指的是应用程序操作XML文档所使 用的API函数的集合。– DOM接口 – SAX接口

4

这些编程接口需要由XML解析器实现,应用程序 为了能够处理XML文档几乎都需要一个XML解析 器

人民邮电出版社

XML 编程接口与解析器 解析器能够检查文档是否严格遵守XML规范,也 能够判断一个XML文档是否遵守DTD/Schema标 准(如果该XML文档有DTD/Schema的话)。 目前XML解析器有许多种类和版本,较为常见的 XML解析器主要有:IBM XML4J、Apache Xerces、Sun JAXP、Microsoft MSXML、Oracle XML Parser for Java、James Clark XP等,

5

人民邮电出版社

XML 编程接口与解析器比 较 项 IBM XML4J Apache Xerces √ √ √ √ √ √ √ √ Sun JAXP Microsoft MSXML Oracle XML Parser for Java

6

James Clark XP

对文档是否有良 好格式的检查 文档有效性检查 命名空间支持 XSLT 是否支持Java 是否支持SAX接 口 是否支持DOM 接口 是否开源

√ √ √ × √ √ √ ×

√ √ √ √ × √ √ ×

√ √ √ √ √ √ √

√ × × × √ √ × √

人民邮电出版社

DOM接口介绍 DOM接口即文档对象模型(Document Object Model),是W3C(万维网联盟)的推荐标准。

7

W3C给出的定义为:“W3C 文档对象模型(DOM) 是一个使程序和脚本有能力动态地访问和更新文档 的内容、结构以及样式的平台和语言中立的接口” DOM接口把XML、HTML或动态HTML的文档看 作是面向对象编程概念中的对象,称为文档对象 提供一整套浏览、处理、操作该文档对象及其内部 数据的方法和命令,这些方法和命令的集合就构成 了DOM API接口,支持 DOM 的 XML 解析器实现 该接口。人民邮电出版社

DOM接口介绍 W3C DOM被分为3个部分:– 核心DOM:用于任何结构化文档的标准模型; – HTML DOM:用于HTML文档的标准模型; – XML DOM:用于XML文档的标准模型。

8

人民邮电出版社

DOM接口介绍 当您用一个 DOM 解析 器来解析一个 XML 文

档时,您将获得一个包 含文档中所有元素的树 结构。 DOM 解析器提供了添加、 删除、修改XML的方法 和属性。

9

人民邮电出版社

DOM接口介绍 XML DOM处理XML文档的优点:

10

– 能保证正确的语法和格式,可以避免无结束标记或者是 不正确的嵌套等语法错误; – 简化了文档的操作。使用XML DOM对XML文档中的 节点进行访问和操作相对简单,开发人员只需掌握几种 常用的接口就可以进行开发。 – 与数据库可以良好的转换。由于DOM在表示XML文档 中的各个节点的关系时非常类似于常用的关系数据库的 处理方法,所以可以很方便地在数据库和XML文件之 间转换。

人民邮电出版社

DOM文档对象模型XML 文档中的每个成分都是一个节点。DOM 是这 样规定的: 整个文档是一个文档节点; 每个 XML 标记是一个元素节点; 包含在 XML 元素中的文本是文本节点; 每一个 XML 属性是一个属性节点; 注释属于注释节点。

11

人民邮电出版社

DOM文档对象模型

12

<?xml version="1.0" encoding="GB2312"?> book7_1.xml <!DOCTYPE 书库 [……]> <书库> <书 种类="历史"> <标题 语言="en">上下五千年</标题> <作者>王强</作者> <出版日期>20056</出版日期> <价格>30.00元</价格> </书> …… </书库>

人民邮电出版社

DOM文档对象模型

13

人民邮电出版社

DOM文档对象模型 最常见的节点类型:

14

– 元素:元素是 XML 的基本构件。典型地,元素可以 有其它元素、文本节点或两者兼有来作为其子节点。 元素节点还是唯一可以有属性类型的节点。 – 属性:属性节点包含关于元素节点的信息,但实际上, 不认为它是元素的子节点 – 文本:文本节点是文本。它可以包含许多信息或仅仅 是空白。注意,文本总是存储在文本节点中。在DOM 处理中,一个普遍的错误是认为元素节点包含文本。 – 文档(根节点):文档节点是整个文档中所有其它节 点的父节点。(根节点不等于根元素节点!)

较不常见的节点类型:CDATA、注释、处理指 令、DocType人民邮电出版社

DOM文档对象模型

15

DOM节点树上的每一个节点同时可以看作是一个 对象,DOM编程与面向对象的程序设计非常类似.Document对象 <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE 书库 [……]> <书库> <书 种类="历史"> <标题 语言="en">上下五千年</标题 > <作者>王强</作者> <出版日期>20056</出版日期> <价格>30.00元</价格> </书> …… </书库> 处理指令对象 DOCTYPE对象 书库元素对象 书元素对象 Text对象上下五千年 属性对象

人民邮电出版社

DOM文档对象模型 每一个对象同时可以看作是一个节点,每个节点 对象都可以包含若干属性,包括:

16

节点类型:文档、元素、处理指令、文本、注释、属性 等 – 名字:通常为所对应的标记的名字 – 值:元素类型节点的值属性为NULL; – 父节点:Document对象没有父节点 – 子节点列表: – 序号: – 其他属性:

人民邮电出版社

DOM的常用接口 XML与Java具有天然的组合优势 Java提供了JAXP(Java API for XML Parsing) 接口来使用SAX和DOM, JAXP接口包含了3个包。

17

– org.w3c.dom,W3C推荐的用于XML标准规划文档对象 模型的接口。 – org.xml.sax,用于对XML进行语法分析的事件驱动的 XML简单API(SAX)。 – javax.xml.parsers,解析器工厂工具,程序员获得并配 置特殊的语法分析器。

人民邮电出版社

DOM的常用接口 包org.w3c.dom中所定义的接口主要有:– – – – – – – Node接口 NodeList接口 Document接口 Element接口 Attr接口 NamedNodeMap接口 Text接口

18

其他的接口可参见:jaxp-1_3-fr-spec-apidocs文档

人民邮电出版社

Node接口

19

人民邮电出版社

本文来源:https://www.bwwdw.com/article/r76m.html

Top