第9讲-文档对象模型(DOM)-SN3005 (XML09)课件

上传人:我*** 文档编号:139306458 上传时间:2020-07-21 格式:PPT 页数:35 大小:881KB
返回 下载 相关 举报
第9讲-文档对象模型(DOM)-SN3005 (XML09)课件_第1页
第1页 / 共35页
第9讲-文档对象模型(DOM)-SN3005 (XML09)课件_第2页
第2页 / 共35页
第9讲-文档对象模型(DOM)-SN3005 (XML09)课件_第3页
第3页 / 共35页
第9讲-文档对象模型(DOM)-SN3005 (XML09)课件_第4页
第4页 / 共35页
第9讲-文档对象模型(DOM)-SN3005 (XML09)课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《第9讲-文档对象模型(DOM)-SN3005 (XML09)课件》由会员分享,可在线阅读,更多相关《第9讲-文档对象模型(DOM)-SN3005 (XML09)课件(35页珍藏版)》请在金锄头文库上搜索。

1、第四卷: XML解析器文档对象模型(DOM)软件工程系 谭翔纬,2,回顾,了解XPath的概念 描述上下文结点、定位路径和轴 列出所有XPath函数以及它们的使用 熟悉使用相关的XSLT元素,3,目标,DOM是一组独立于语言和平台的应用程序编程接口,描述如何访问和操纵存储在结构化XML文档中的信息 DOM可以表示树状结构 了解W3C为DOM提供一系列API,以供应用程序调用 掌握DOM API的核心接口 对结点的操作包括读取、添加、删除、替换和创建,掌握用java实现这些操作的方法,4,DOM概述,简单说,DOM是一组独立于语言和平台的应用程序编程接口,它能够描述如何访问和操纵存储在XML和H

2、TML文档中的信息。 DOM的文档结构 DOM文档是由树状结构表示的。树的每一个点都称之为结点。,5,示例,Document,Element:Teams,Element:Team,Element:Teamname,Element:Country,Element:Member,Text:AC Milan,Text:Italy,Attr:Age,Attr:Sex,Text:32,Text:male,DOM文档树表示,Text:Pippo,6,DOM工作方式,XML文档,XML解析器,文档对象模型(树状结构视图),应用程序,将XML文档一次性的装入内存,对 文档进行解析,根据文档中定义的元素、属性、

3、注释和处 理指令等不同的内容进行分解,以结点树 的形式在内存中创建XML的表示DOM,文档中的每一个结点对应模型中一个对象, 然后根据对象提供的编程接口,在Application 中访问、操作XML文档,7,DOM API,Node,Document,DocumentFragment,NodeList,ChracterData,Element,DOMException,Entity,DOMImplementation,Attr,EntityReference,DocumentType,CDATASection,NamedNodeMap,Text,ProcessingInstruction,No

4、tation,不同结点类型对应接口类型,表示文档根结点,表示文档类型声明,表示文档 片段,表示可解析 的文本内容,8,DOM API接口,下面通过DOM的简单应用,学习DOM 的主要核心接口 遍历文档 添加结点 删除结点 替换结点,9,应用:遍历文档,10,代码分析-1,DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc=builder.parse(args0); doc.no

5、rmalize(); Element root=doc.getDocumentElement();,创建文档对象生成工厂; 实例化文档对象; 解析XML文档; normalize()方法可以去掉XML文档中作为格式化内容的空白而映射在DOM 树中不必要的Text Node对象; 获得文档根元素结点,Document接口,11,代码分析-2,获得元素子结点与属性结点,子结点的个数,处理属性结点,递归处理子结点,Node结点常量,12,代码分析,NodeList children=element.getChildNodes(); NamedNodeMap attr=element.getAttri

6、butes(); int r=children.getLength();,Node接口,13,NodeList接口:我们可通过节点列表中的节点索引号来访问列表中的节点(索引号由0开始)。,if(attr!=null) System.out.print(); else if(attr=null) System.out.println(); ,代码分析,NamedNodeMap 接口:用于表示可以通过名称访问的节点的集合,14,代码分析,if(element.hasChildNodes() for(int k=0;k); ,实验一:使用DOM遍历,编写一个Java程序,将students.xml中

7、的所有节点遍历输出。,students.xml,参考代码:,17,DOM应用:添加结点,在元素Teams的子元素Team后添加一个新的Team元素。,生成一个新的 结点Team,18,在根结点下添加新的Team结点,该代码作用:利用Transformer将处理的文档信息通过XSLT转换返回给 源文档。如果不加该段代码,程序对信息的处理只表现在内存中,无法 反映在XML文档上。,19,运行结果,20,DOM应用:插入结点,在现有Team元素之前插入新结点Team,新结点 Team,21,代码分析,在原有Team元素前插入一个新的Team结点,22,运行结果,23,应用:删除结点,将上例中第一个T

8、eam元素的Member子元素的文本子节点删除,24,运行结果,25,DOM应用:删除结点,将上例中第一个Team结点删除,26,运行结果,27,DOM应用:替换结点,创建一个新的结点Member,替换原先的Member结点,创建Member结点,结点替换,root.getFirstChild().replaceChild(newmember,oldmember);替换,28,运行结果,实验二使用DOM操作XML,新建java程序,建立如下图的ds.xml文档,参考代码:,实验二使用DOM操作XML,在上例ds.xml文档中开始部分添加一条学生记录。,参考代码:,思考(1)如何删除张三学生的信

9、息?(2)如何把李四学生性别改为男?,31,DOM 特点-1,文档对象模型 (Document Object Model, DOM): 是 XML 文档的编程接口 定义如何在程序中访问和操作 XML 文档 是与平台和语言无关的接口 以树结构表示 XML 文档 通过提供一组对象对 XML 文档结构的访问 定义用于访问和操作 XML 文档的 API,32,DOM 特点-2,文档对象模型 DOM,XML 文档的编程接口,定义如何在程序中访问和操作 XML 文档,与平台和语言无关的接口,33,DOM 特点-3,编写一个通过 DOM 访问 XML 文档的应用程序时需要: XML 解析器 DOM实现 使用 DOM 创建和操作 XML 文档有助于避免: 未封闭标签 错误嵌套标签 使用 DOM 能够在数据库和 XML 文件之间轻松移动信息,34,总结,DOM 是用于 XML 文档的与平台和语言无关的编程接口 DOM 定义如何操作和访问 XML 文档 要通过 DOM 访问 XML 文档,需要以下两个组件: XML 解析器 DOM 实现 DOM 创建的节点树是 XML 文件的内容的逻辑表示,35,思考,什么是DOM?简述DOM的结构和工作方式。 Node接口的appendChild和insertChild方法有什么不同?,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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