9 1 DOM o 9 1 1 DOM

  • Slides: 22
Download presentation

9. 1 DOM基础知识 o 9. 1. 1 DOM的概念和组成 n DOM全称Document Object Model,是一 个文件对象所组成的模型 n

9. 1 DOM基础知识 o 9. 1. 1 DOM的概念和组成 n DOM全称Document Object Model,是一 个文件对象所组成的模型 n DOM由三部分组成,包括:核心(core)、 HTML和XML n XML DOM包含四个主要对象: o o 2020/12/3 XML XML DOM DOM Document Node. List Named. Node. Map 3

o o o 9. 1. 2 DOM 结构模型 DOM对象映射了XML文档的树型结构 一个XML分析器,在对XML文档进行分析之后,不管这个文档简单或复杂, 其中的信息都会被转化成一棵对象节点树。 Document title books

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

o 9. 1. 3创建Document对象 n 首先,我们来创建Document对象 o 对于Java. Script: n o 对于VBScript: n 2020/12/3

o 9. 1. 3创建Document对象 n 首先,我们来创建Document对象 o 对于Java. Script: n o 对于VBScript: n 2020/12/3 var xml. Dom = new Active. XObject("MSXML 2. DOMDocument. 4. 0") set xml. Dom = Create. Object("MSXML 2. DOMDocument. 4. 0") 5

o 对于VB: n n o 或者 n n 2020/12/3 Dim xml. Dom As Object.

o 对于VB: n n o 或者 n n 2020/12/3 Dim xml. Dom As Object. Set xml. Dom = Create. Object("MSXML 2. DOMDocument. 4. 0") Dim xml. Dom As DOMDocument Set xml. Dom = New DOMDocument 对于ASP(VBScript): set xml. Dom = Server. Create. Object("MSXML 2. DOMDocument. 4. 0") 6

9. 2 客户端加载XML o 9. 2. 1加载外部XML文件 n VBScript可通过下述方式来加载文档 n Dim xml. Dom n

9. 2 客户端加载XML o 9. 2. 1加载外部XML文件 n VBScript可通过下述方式来加载文档 n Dim xml. Dom n ' 建立XML DOM对象 n Set xml. Dom = Create. Object("MSXML 2. DOMDocument. 4. 0 ") n ' 设置xml. Dom的async为false, 即异步为假,保证 XML解析器暂停执行,直到XML文件加载完成 n xml. Dom. async = False n ' 加载XML文件 n xml. Dom. load("code 9_1. xml") 2020/12/3 7

o 与之对应的Java. Script加载外部XML文件的代码 如下: n // 建立XML DOM对象 n var xml. Dom = new

o 与之对应的Java. Script加载外部XML文件的代码 如下: n // 建立XML DOM对象 n var xml. Dom = new Active. XObject("MSXML 2. DOMDocum ent. 4. 0") n xml. Dom. async = "false" n // 加载XML文件的字符串 n xml. Dom. load("code 9_1. xml") 2020/12/3 8

o 9. 4. 2出现错误时的处理 n var xml. Dom = new Active. XObject("MSXML 2. DOMDocument.

o 9. 4. 2出现错误时的处理 n var xml. Dom = new Active. XObject("MSXML 2. DOMDocument. 4. 0") n xml. Dom. async="false" n xml. Dom. load("notexist_or_err. xml") n If xml. Dom. parse. Error. error. Code <> 0 Then n document. write(" 错误代码: ") n document. write(xml. Dom. parse. Error. error. Code) n document. write(" 错误原因: ") n document. write(xml. Dom. parse. Error. reason) n document. write(" 错误行号: ") n document. write(xml. Dom. parse. Error. line) n end if 2020/12/3 15

o 9. 5. 2删除XML元素和属性 n 执行对象节点所属父节点的remove. Child方法 o o n n Set obj. Delete.

o 9. 5. 2删除XML元素和属性 n 执行对象节点所属父节点的remove. Child方法 o o n n Set obj. Delete. Node=xml. Dom. document. Element. first child obj. Root. remove. Child(obj. Delete. Node) 用get. Elements. By. Tag. Name方法,找出要 删除的节点名称进行删除 删除属性最直接的方法是调用Element中的 remove. Attribute方法 2020/12/3 18

n 另外一种方案是先用get. Attribute. Node方法 对操作对象进行定位,然后执行 remove. Attribute. Node操作 2020/12/3 19

n 另外一种方案是先用get. Attribute. Node方法 对操作对象进行定位,然后执行 remove. Attribute. Node操作 2020/12/3 19

谢谢 2020/12/3 22

谢谢 2020/12/3 22