XML网页设计实用教程 教学课件 ppt 作者 蔡体健 廖志芳 汤文亮 莫佳 第七章 XML应用编程(DOM)

上传人:E**** 文档编号:89376506 上传时间:2019-05-24 格式:PPT 页数:53 大小:671.50KB
返回 下载 相关 举报
XML网页设计实用教程 教学课件 ppt 作者  蔡体健 廖志芳 汤文亮 莫佳 第七章  XML应用编程(DOM)_第1页
第1页 / 共53页
XML网页设计实用教程 教学课件 ppt 作者  蔡体健 廖志芳 汤文亮 莫佳 第七章  XML应用编程(DOM)_第2页
第2页 / 共53页
XML网页设计实用教程 教学课件 ppt 作者  蔡体健 廖志芳 汤文亮 莫佳 第七章  XML应用编程(DOM)_第3页
第3页 / 共53页
XML网页设计实用教程 教学课件 ppt 作者  蔡体健 廖志芳 汤文亮 莫佳 第七章  XML应用编程(DOM)_第4页
第4页 / 共53页
XML网页设计实用教程 教学课件 ppt 作者  蔡体健 廖志芳 汤文亮 莫佳 第七章  XML应用编程(DOM)_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《XML网页设计实用教程 教学课件 ppt 作者 蔡体健 廖志芳 汤文亮 莫佳 第七章 XML应用编程(DOM)》由会员分享,可在线阅读,更多相关《XML网页设计实用教程 教学课件 ppt 作者 蔡体健 廖志芳 汤文亮 莫佳 第七章 XML应用编程(DOM)(53页珍藏版)》请在金锄头文库上搜索。

1、XML技术基础,主讲:蔡体健,第七章 XML应用编程,引言,XML 仅仅用来存放数据,其他的工作都交给相应的应用程序来完成。例如,XML数据的显示是由样式单文件来控制的。 更多的针对XML数据的操作,如XML数据的读写,XML数据的添加、删除、修改、查询、管理等工作,都需要用户利用XML编程接口开发相应的应用程序来完成。,本章目标,XML 编程接口与解析器 DOM接口介绍 DOM文档对象模型 DOM的常用接口 DOM的应用 DOM编程一般步骤 遍历XML文档 动态创建XML文档 DOM节点树的修改与删除 作业与小结,XML 编程接口与解析器,XML编程接口指的是应用程序操作XML文档所使用的A

2、PI函数的集合。 DOM接口 SAX接口 这些编程接口需要由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等,,XML 编程接口与解析器,返回目标,DO

3、M接口介绍,DOM接口即文档对象模型(Document Object Model),是W3C(万维网联盟)的推荐标准。 W3C给出的定义为:“W3C 文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容、结构以及样式的平台和语言中立的接口” DOM接口把XML、HTML或动态HTML的文档看作是面向对象编程概念中的对象,称为文档对象 提供一整套浏览、处理、操作该文档对象及其内部数据的方法和命令,这些方法和命令的集合就构成了DOM API接口,支持 DOM 的 XML 解析器实现该接口。,DOM接口介绍,W3C DOM被分为3个部分: 核心DOM:用于任何结构化文档的标准模型

4、; HTML DOM:用于HTML文档的标准模型; XML DOM:用于XML文档的标准模型。,DOM接口介绍,当您用一个 DOM 解析器来解析一个 XML 文档时,您将获得一个包含文档中所有元素的树结构。 DOM 解析器提供了添加、删除、修改XML的方法和属性。,DOM接口介绍,XML DOM处理XML文档的优点: 能保证正确的语法和格式,可以避免无结束标记或者是不正确的嵌套等语法错误; 简化了文档的操作。使用XML DOM对XML文档中的节点进行访问和操作相对简单,开发人员只需掌握几种常用的接口就可以进行开发。 与数据库可以良好的转换。由于DOM在表示XML文档中的各个节点的关系时非常类似

5、于常用的关系数据库的处理方法,所以可以很方便地在数据库和XML文件之间转换。,返回目标,DOM文档对象模型,XML 文档中的每个成分都是一个节点。DOM 是这样规定的: 整个文档是一个文档节点; 每个 XML 标记是一个元素节点; 包含在 XML 元素中的文本是文本节点; 每一个 XML 属性是一个属性节点; 注释属于注释节点。,DOM文档对象模型, 上下五千年 王强 20056 30.00元 ,book7_1.xml,DOM文档对象模型,DOM文档对象模型,最常见的节点类型: 元素:元素是 XML 的基本构件。典型地,元素可以有其它元素、文本节点或两者兼有来作为其子节点。元素节点还是唯一可以

6、有属性类型的节点。 属性:属性节点包含关于元素节点的信息,但实际上,不认为它是元素的子节点 文本:文本节点是文本。它可以包含许多信息或仅仅是空白。注意,文本总是存储在文本节点中。在DOM处理中,一个普遍的错误是认为元素节点包含文本。 文档(根节点):文档节点是整个文档中所有其它节点的父节点。(根节点不等于根元素节点!) 较不常见的节点类型:CDATA、注释、处理指令、DocType,DOM文档对象模型,DOM节点树上的每一个节点同时可以看作是一个对象,DOM编程与面向对象的程序设计非常类似., 上下五千年 王强 20056 30.00元 ,Document对象,处理指令对象,书库元素对象,Te

7、xt对象上下五千年,属性对象,DOCTYPE对象,书元素对象,DOM文档对象模型,每一个对象同时可以看作是一个节点,每个节点对象都可以包含若干属性,包括: 节点类型:文档、元素、处理指令、文本、注释、属性等 名字:通常为所对应的标记的名字 值:元素类型节点的值属性为NULL; 父节点:Document对象没有父节点 子节点列表: 序号: 其他属性:,DOM即是树模型,又是对象模型,返回目标,DOM的常用接口,XML与Java具有天然的组合优势 Java提供了JAXP(Java API for XML Parsing)接口来使用SAX和DOM, JAXP接口包含了3个包。 org.w3c.dom

8、,W3C推荐的用于XML标准规划文档对象模型的接口。 org.xml.sax,用于对XML进行语法分析的事件驱动的XML简单API(SAX)。 javax.xml.parsers,解析器工厂工具,程序员获得并配置特殊的语法分析器。,DOM的常用接口,包org.w3c.dom中所定义的接口主要有: Node接口 NodeList接口 Document接口 Element接口 Attr接口 NamedNodeMap接口 Text接口 其他的接口可参见:jaxp-1_3-fr-spec-apidocs文档,返回目标,Node接口,Node接口,Node代表文档树中的单个节点 ,它是许多其他接口的超接

9、口,类似于Java中的object接口。 每个节点都有nodeName、nodeValue属性,用于返回当前节点的名称和节点值。注意:所有元素的nodeValue的值为null,用getTextContent获得它的文本值。 每个节点都有一个getNodeType()方法用来获得当前节点类型,该方法返回值是表7-2所示的常量。,节点类型常量,Node接口提供的主要方法,Node接口提供的主要方法(续),返回常用接口,NodeList接口,NodeList 接口提供对节点的有序集合的抽象,如Node接口的getChildNodes()方法所获得的就是一个NodeList对象。 NodeList

10、中的项可以通过从 0 开始的整数索引进行访问。NodeList接口所提供的主要方法有: getLength() 获得列表中的节点数; Item(i) 访问列表中的第i个节点(从0开始编号),例如: NodeList aa=person.getChildNodes() aa.getLength() aa.item(0),返回常用接口,Document接口,根节点,Document.getDocumentElement(),Document.getDoctype(),是操作XML文档的入口节点,返回常用接口,Element接口,Element 代表文档中的一个元素。 由于Element接口继承自N

11、ode,所以继承了Node接口的方法、属性。 需要注意的是元素节点的的nodeValue的值为null,而不是元素内容,如果想获得元素内容可以使用它的getTextContent()方法。 除了从node继承的属性外,还有以下的一些属性、方法:,Element接口主要方法,Element接口主要方法(续),返回常用接口,Attr接口,Attr对象代表属性, Attr 对象继承自Node 接口,但由于它们实际上不是元素的子节点,因此,Attr 接口从Node接口继承的方法getParentNode()、getPreviousSibling() 和 getNextSibling() 具有null

12、值 除了继承Node的属性方法外,还定义了下列的一些属性:,返回常用接口,NamedNodeMap接口,NamedNodeMap是一个具有名称的节点列表,例如node.getAttributes返回的就是一个NamedNodeMap对象 它支持NodeList对象的属性和方法;另外还有一些特殊的方法:,返回常用接口,Text接口,该Text 接口继承自CharacterData,并且表示 Element 或 Attr 的文本内容。,返回常用接口,DOM编程一般步骤,DOM编程通常包括以下几个步骤: 创建一个解析器对象; 将您的 XML 文档传递给解析器,进行解析,产生DOM节点树对象; 处理D

13、OM节点树; 保存DOM节点树。,DOM编程一般步骤,创建一个解析器对象; /首先利用DocumentBuilderFactory类的静态方法newInstance()得到解析器工厂实例 DocumentBuilderFactory domfac =DocumentBuilderFactory.newInstance(); /然后利用解析工厂的newDocumentBuilder()方法得到解析器; DocumentBuilder dombuilder=domfac.newDocumentBuilder();,DOM编程一般步骤,将XML 文档传递给解析器,进行解析,产生Document对象

14、Document document=dombuilder.parse(new File(“book7_2.xml“); 或 Document document=dombuilder.newDocument();,DOM编程一般步骤,其他语言创建Document对象的方法 JScript Var myDocument=new ActiveXObject(“Microsoft.XMLDOM”) myDocument.load(XML文件URL) VBScript dim doc Set doc=CreateObject(“Microsoft.XMLDOM“) VB Dim doc As Objec

15、tSet Set doc=CreateObject(“Microsoft.XMLDOM“) ASP ,返回目标,遍历XML文档, 如何成为一个程序员 姜俊杰 胡鹏 赵艳 2006 49.99元 ,book7_2.xml,引入JAVA包; public class DOM7_1 public static void main(String args) try 创建一个解析器对象; 将XML 文档传递给解析器,进行解析,产生 Document对象; 处理Document对象,以遍历XML文档; catch(Exception e) System.out.println(e); ,Dom7_1.ja

16、va,简单遍历XML文档程序,引入JAVA包;,import org.w3c.dom.*; import javax.xml.parsers.*; import java.io.*;,返回DOM7_1.java,获得Document对象,DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document document=builder.parse(new File(“book7_2.xml“);,返回DOM7_1.java,处理Document对象,Element root=document.getDocumentElement(); String rooName=root.getNodeName(); System.out.println(“XML文件根元素的名称为:“+rooName); System.out.prin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号