Presentation is loading. Please wait.

Presentation is loading. Please wait.

XML实用教程 北京大学出版社 丁跃潮 张涛 叶文来 刘韵华 程旭曼 丁潇 张天桥 2019/1/16.

Similar presentations


Presentation on theme: "XML实用教程 北京大学出版社 丁跃潮 张涛 叶文来 刘韵华 程旭曼 丁潇 张天桥 2019/1/16."— Presentation transcript:

1 XML实用教程 北京大学出版社 丁跃潮 张涛 叶文来 刘韵华 程旭曼 丁潇 张天桥 2019/1/16

2 9 XML文档对象模型 理解文档对象模型的概念 熟悉文档对象模型的基本知识 掌握客户端加载XML的方法 掌握服务器端加载XML的方法
学会用DOM编制ASP程序 2019/1/16

3 9.1 DOM基础知识 9.1.1 DOM的概念和组成 DOM全称Document Object Model,是一个文件对象所组成的模型
DOM由三部分组成,包括:核心(core)、HTML和XML XML DOM包含四个主要对象: XML DOM Document XML DOM Node XML DOM NodeList XML DOM NamedNodeMap 2019/1/16

4 一个XML分析器,在对XML文档进行分析之后,不管这个文档简单或复杂,其中的信息都会被转化成一棵对象节点树。
9.1.2 DOM 结构模型 DOM对象映射了XML文档的树型结构 一个XML分析器,在对XML文档进行分析之后,不管这个文档简单或复杂,其中的信息都会被转化成一棵对象节点树。 title Documentment books book bookinfo Recomen- dation resume chapter capter author publish price para publisher ISBN pubdate ID bookcategory amount remain 2019/1/16

5 9.1.3创建Document对象 首先,我们来创建Document对象 对于JavaScript: 对于VBScript:
var xmlDom = new ActiveXObject("MSXML2.DOMDocument.4.0") 对于VBScript: set xmlDom = CreateObject("MSXML2.DOMDocument.4.0") 2019/1/16

6 对于VB: 或者 Dim xmlDom As ObjectSet
xmlDom = CreateObject("MSXML2.DOMDocument.4.0") 或者 Dim xmlDom As DOMDocument Set xmlDom = New DOMDocument 对于ASP(VBScript): set xmlDom = Server.CreateObject("MSXML2.DOMDocument.4.0") 2019/1/16

7 9.2 客户端加载XML 9.2.1加载外部XML文件 VBScript可通过下述方式来加载文档 Dim xmlDom
Set xmlDom = CreateObject("MSXML2.DOMDocument.4.0") ' 设置xmlDom的async为false,即异步为假,保证XML解析器暂停执行,直到XML文件加载完成 xmlDom.async = False ' 加载XML文件 xmlDom.load("code9_1.xml") 2019/1/16

8 与之对应的JavaScript加载外部XML文件的代码如下: // 建立XML DOM对象
var xmlDom = new ActiveXObject("MSXML2.DOMDocument.4.0") xmlDom.async = "false" // 加载XML文件的字符串 xmlDom.load("code9_1.xml") 2019/1/16

9 加载XML字符串的脚本语言与加载外部XML文件类似
“xmlDom.load("code9_1.xml")”一句改为“xmlDom.loadXML(xmlStr) ” 2019/1/16

10 9.2.3加载XML文件及其转换文件 用XML Dom的transformNode方法实现转换,转换的结果可以通过支持DSO的HTML元素的“innerHTML”属性将XML文档节点信息的正确地显示 2019/1/16

11 9.3 服务器端加载XML 在服务器上创建了DOM对象之后,既可以自己构造新的XML文档,也可以装载一个现有的文档
在装载XML文档之前,应该把DOM对象的async属性设置成false,这是告诉DOM对象装载XML文档不是异步进行 2019/1/16

12 可以用getElementsByTagName方法从文档获得元素(或节点)
9.3.1服务器端加载XML文件并显示所有元素 DOM提供许多精确分析文档内容的方法 可以用getElementsByTagName方法从文档获得元素(或节点) 2019/1/16

13 9.3.2服务器端加载XML文件及其转换文件并显示所有元素 利用ASP文件也可以在服务器端加载XML文件及其转换文件
实现在服务器端的处理和向客户端的显示。 Response.Write(xmlDom.transformNode(xslDom)) 2019/1/16

14 9.4 ParseError对象 如果XML文档有错误,XML Parser将产生错误代码,并保存在parseError对象中
包括错误代码、错误文本和错误行号等信息 9.4.1 ParseError属性 parseError对象提供了有关错误的丰富而宝贵的信息 <% If xmlDom.parseError.errorCode <> 0 Then 处理错误语句 End If %> 2019/1/16

15 var xmlDom = new ActiveXObject("MSXML2.DOMDocument.4.0")
9.4.2出现错误时的处理 var xmlDom = new ActiveXObject("MSXML2.DOMDocument.4.0") xmlDom.async="false" xmlDom.load("notexist_or_err.xml") If xmlDom.parseError.errorCode <> 0 Then document.write("<br>错误代码: ") document.write(xmlDom.parseError.errorCode) document.write("<br>错误原因: ") document.write(xmlDom.parseError.reason) document.write("<br>错误行号: ") document.write(xmlDom.parseError.line) end if 2019/1/16

16 9.5 DOM的节点接口 节点接口程序通常用来读和写XML节点树中的个别元素 9.5.1新增XML节点
按下列步骤进行 1.建立新节点 XML DOM对象创建元素的方法为CreateElement 2将节点插入到位 要用AppendChild 方法 2019/1/16

17 3给元素赋值 4添加元素属性 newNode.text=”罗贯中”
使用Element对象中的setAttribute方法,也可以先用Document对象中的createAttribute方法设置属性值,然后使用Element对象中的setAttributeNode方法把新节点添加到DOM树中 2019/1/16

18 执行对象节点所属父节点的removeChild方法
9.5.2删除XML元素和属性 执行对象节点所属父节点的removeChild方法 Set objDeleteNode=xmlDom.documentElement.firstchild objRoot.removeChild(objDeleteNode) 用getElementsByTagName方法,找出要删除的节点名称进行删除 删除属性最直接的方法是调用Element中的removeAttribute方法 2019/1/16

19 另外一种方案是先用getAttributeNode方法对操作对象进行定位,然后执行removeAttributeNode操作
2019/1/16

20 9.5.3 访问和修改XML DOM节点 1访问和修改XML DOM元素 2访问和修改XML DOM属性
执行对象节点所属父节点的replaceChild方法即可 2访问和修改XML DOM属性 通过getAttribute和setAttribute方法读取属性值或修改属性值, 用getAttributeNode方法直接返回Attribute对象 用removeAttribute方法删除某个属性后,采用setAttribute方法设置新的属性,也能很方便地修改原来的属性 2019/1/16

21 小结 XML DOM包含四个主要对象:XML DOM Document, XML DOM Node,XML DOM NodeList和XML DOM NamedNodeMap。 XML DOM Document对象代表XML DOM层次中的顶层节点,它是建立和操纵XML结构的基础。 只要对XML文档的结构有一个基本了解,再利用DOM的强大功能,我们就可以方便地在ASP应用服务器端解析XML文档,从解析结果中选择合适的内容发送给客户端。 2019/1/16

22 谢谢 2019/1/16


Download ppt "XML实用教程 北京大学出版社 丁跃潮 张涛 叶文来 刘韵华 程旭曼 丁潇 张天桥 2019/1/16."

Similar presentations


Ads by Google