第9讲-文档对象模型(DOM)-SN3005 (XML09).ppt_第1页
第9讲-文档对象模型(DOM)-SN3005 (XML09).ppt_第2页
第9讲-文档对象模型(DOM)-SN3005 (XML09).ppt_第3页
第9讲-文档对象模型(DOM)-SN3005 (XML09).ppt_第4页
第9讲-文档对象模型(DOM)-SN3005 (XML09).ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、。 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,Notation,不同

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

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

6、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); ,15,运行结果,16,应用:添加结点,在元素Teams的子元素Team后添加一个新的Team

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

8、换结点,创建一个新的结点Member,替换原先的Member结点,创建Member结点,结点替换,root.getFirstChild().replaceChild(newmember,oldmember);替换,27,运行结果,28,DOM 特点-1,文档对象模型 (Document Object Model, DOM): 是 XML 文档的编程接口 定义如何在程序中访问和操作 XML 文档 是与平台和语言无关的接口 以树结构表示 XML 文档 通过提供一组对象对 XML 文档结构的访问 定义用于访问和操作 XML 文档的 API,29,DOM 特点-2,文档对象模型 DOM,XML 文档的编程接口,定义如何在程序中访问和操作 XML 文档,与平台和语言无关的接口,30,DOM 特点-3,编写一个通过 DOM 访问 XML 文档的应用程序时需要: XML 解析器 DOM实现 使用 DOM 创建和操作 XML 文档有助于避免: 未封闭标签 错误嵌套标签 使用 DOM 能够在数据库和 XML 文件之间轻松移动信息,31,总结,DOM 是用于 XML 文档的与平台和语言无关的编程接口 DOM 定义如何操作和访问 XML 文档 要通过 DOM 访问 XML 文档,需要以下两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论