《XML程序设计案例教程 教学课件 ppt 作者 郝俊寿 模块八 XML DOM》由会员分享,可在线阅读,更多相关《XML程序设计案例教程 教学课件 ppt 作者 郝俊寿 模块八 XML DOM(29页珍藏版)》请在金锄头文库上搜索。
1、任务一 了解DOM基础知识 任务二 DOM组成、DOM树和接口 任务三 XML文档访问 任务四 SAX基础知识 任务五 应用程序的编译与执行 任务六 客户机与服务器的数据交互 任务七 DOM实例 北京申奥 学 材 小 结 习 题,任务一 了解DOM基础知识,子任务1 了解接口的由来 子任务2 DOM与SAX并存,子任务2 DOM与SAX并存,1.DOM 2.SAX,任务二 DOM组成、DOM树和接口,子任务1 DOM的组成 子任务2 DOM树 子任务3 DOM的4个基本接口,子任务2 DOM树,图8-1 用DOM来表示文档,1)用来表示、操作文档的接口。 2)接口的行为和属性。 3)接口之间的
2、关系以及互操作。,子任务3 DOM的4个基本接口,1.Document接口,08(127-156)P30 yh_Embed_2.jpg,图8-2 Document接口同其他接口之间的关系 2.Node接口,子任务3 DOM的4个基本接口,图8-3 典型的Node接口,(1)NodeList接口 NodeList接口提供了对节点集合的抽象定义,它并不包含如何实现这个节点集的定义。NodeList用于表示有顺序关系的一组节点,如某个节点的子节点序列。,子任务3 DOM的4个基本接口,另外,它还出现在一些方法的返回值中,如 GetNodeByName。 (2)NamedNodeMap接口 Named
3、NodeMap接口实现了NamedNodeMap接口的对象中包含了可以通过名字来访问的一组节点的集合。不过要注意,NamedNodeMap并不是从NodeList继承过来的,它所包含的节点集中的节点是无序的。尽管这些节点也可以通过索引来进行访问,但这只是提供了枚举NamedNodeMap中所包含节点的一种简单方法,并不表明在DOM规范中为NamedNodeMap中的节点规定了一种排列顺序。,任务三 XML文档访问,子任务1 创建Document对象 子任务2 加载XML文档 子任务3 遍历XML文档 子任务4 添 加 元 素 子任务5 删 除 元 素 子任务6 修 改 元 素,子任务2 加载X
4、ML文档,图8-4 加载XML文档,子任务3 遍历XML文档,图8-5 获取XML文档的根元素节点,子任务3 遍历XML文档,图8-6 访问过程示意图,子任务3 遍历XML文档,图8-7 访问DOM树中的属性节点,子任务4 添 加 元 素,图8-8 添加元素的操作示意图,子任务6 修 改 元 素,图8-9 修改元素,任务四 SAX基础知识,子任务1 SAX分析器接口简介 子任务2 生成应用程序框架 子任务3 引入需要的类 子任务4 创建分析器 子任务5 实现DocumentHandler接口 子任务6 输 出 异 常 子任务7 简单格式化输出 子任务8 处理文档事件,子任务1 SAX分析器接口
5、简介,图8-10 SAX分析器的构成框架,1.SAXParserFactory 2.Parser 3.DocumentHandler 4.ErrorHandler 5.DTDHandler 6.EntityResolver,子任务5 实现DocumentHandler接口,图8-11 方法的调用时序,任务五 应用程序的编译与执行,1.编译应用程序 2.执行应用程序,1.编译应用程序,1)XML_HOME是安装JAXP和Project X库的路径。 2)jaxp.jar包含了JAXP中所定义的APIs。 3)parser.jar中包含了实现SAX和DOM APIs的接口和类。,任务六 客户机与服
6、务器的数据交互,子任务1 C/S的通信模式 子任务2 基于XML的C/S 子任务3 向服务器发送数据 子任务4 XMLHTTP对象的Open方法 子任务5 XMLHTTP对象的Send方法 子任务6 服务器端的数据处理 子任务7 服务器端的响应消息 子任务8 客户机处理响应信息,子任务2 基于XML的C/S,1)客户机构造一个XMLDOM对象,作为发送XML数据的载体。 2)客户机创建一个XMLHTTP对象,该对象包括多种方法和属性,可以发送XML数据到服务器上的应用程序(如ASP页面),同时准备接收响应信息。 3)客户机将XML数据包转载到XMLHTTP对象上,并发送给ASP页面。 4)服务
7、器执行ASP,并创建一个服务器端XMLDOM对象来接收XML数据。 5)ASP把数据包装载到服务器端的XMLDOM对象上。 6)ASP对XML数据进行必要的处理,并返回确认消息。 7)客户机接收响应消息,执行下一步操作。,子任务3 向服务器发送数据,元素是dsoOrder数据岛中的一部分,要把它添加到其他DOM树中(如前面的XML数据包),必须把元素及其所有的后继节点进行备份,这是因为appendChild方法在把操作对象添加到其他DOM树中后,就从当前的DOM树中删除该对象。所以,必须先调用cloneNode方法:,子任务4 XMLHTTP对象的Open方法,表8-1 Open方法参数的含义
8、,表8-1 Open方法参数的含义,子任务5 XMLHTTP对象的Send方法,表8-2 ready State属性值及其含义,表8-2 ready State属性值及其含义,子任务8 客户机处理响应信息,(1)responseTxt 将返回消息作为文本字符串。 (2)responseXML 将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用。 (3)responseStream 将返回消息视为Stream对象。,任务七 DOM实例 北京申奥,1)掌握XMLDOMDocument对象及其常用属性和方法。 2)掌握XMLDOMNode对象及其常用属性和方法。 3)掌握XMLDOMN
9、odeList对象及其常用属性和方法。 4)掌握XMLDOMParseError对象及其常用属性和方法。 1.编写北京申奥的XML文档(Exp8_2.xml) 2.北京申奥实例的HTML文档(Exp8_3.html) 3.北京申奥实例使用的CSS文件(bjsa.css) 4.用IE打开Exp8_3.html 5.在页面中添加北京信息脚本,4.用IE打开Exp8_3.html,图8-12 浏览结果,习 题,1.请说明什么是XML DOM对象模型。 2.试列出XML的组成部分和包括的主要对象。 3.使用XML文件建立商品列表的文字数据库,然后建立查询商品的ASP程序,实现网络商店的产品浏览和查询功能。,