SAX解的析XML文档.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAX解的析XML文档

SAX解析XML文档 学 习 目 标 掌握SAX的概念和特点 理解SAX的工作机制 了解SAX的常用接口 熟练掌握SAX解析XML文档的步骤 熟练掌握解析器和事件处理器的创建和使用 掌握SAX和DOM共同构建XML文档 基于DOM的解析器的核心是在内存中建立和XML 文档相对应的树状结构。XML文件的标记、标记中 的文本数据和实体等都是内存中的树状结构的某个节 点相对应。 优点:可以方便地操作内存中的树状节点 缺点:如果XML文件较大,或者只需要解析XML文档的一部分数据,就会占用大量的内存空间 SAX简介 SAX没有官方的标准机构,它不属于任何标准组织或团体,也不属于任何公司或个人,而是供任何人使用的一种计算机技术。 SAX是XML事实上的标准,所有的XML解析器都支持它,已经被Java,C#等语言编写实现 SAX是一种基于事件的API SAX概述 SAX是Simple API for XML,简易应用程序编 写接口。解析的核心是事件处理机制,具有占用 内存少,效率高等特点。 SAX是一种高效的解析器,在对那些要处理 大量数据的应用程序,这种特性尤为重要。它允 许在读取文档时处理它,而不必等到整个文档都 被存储之后才采用该操作。 SAX的工作机制【重点掌握】 SAX在概念上与DOM完全不同。它采用事件 机制的方式来解析XML文档。使用SAX解析器对 XML文档进行解析时,会触发一系列事件,这些 事件将被相应的事件监听器监听,从而触发相应 的事件处理方法,应用程序通过这些事件处理方 法实现对XML文档的访问。 Java事件处理图 SAX解析器在解析开始的时候就开始发送事 件,当解析器开始处理文档开始,元素开始和文 本时,负责在文档中触发一个事件,而程序员则 实现这些事件监听器,这些监听器负责处理这些 事件——事件中包含了XML元素的内容。 可以这样理解SAX的解析过程:SAX解析器就 像一个电子探测器,它在XML文档中一路走过 来,每经过一个元素开始、元素结束、处理指令 开始、处理指令结束…..都将向外发送一个事 件,给元素的内容就包含在该事件中,而程序则 负责接收该事件,并将其内容解析出来。 SAX监听器【重点掌握】 SAX解析事件一共有4种,因此需要分别设置4 种监听器。 ContentHandler:监听XML文档内容处理事件的监听器 DTDHander:监听DTD处理事件的监听器 EntityResolver:监听实体处理事件的监听器 ErrorHandler:监听解析错误的监听器 在ContentHandler接口中定义了如下方法: void characters(char[] ch,int start,int length):SAX解析器处理字符数据时触发该方法 void endDocument(): SAX解析器处理文档结束时触发该方法 void endElement(String uri,String localName,String qName): SAX解析器处理元素结束时触发该方法 void endPrefixMapping(String prefix):SAX解析器处理元素里命名空间属性(即xmlns:prefix属性)结束时触发该方法 SAX解析XML文档 ?xml version=1.0 encoding=GB2312? 员工名单 员工 姓名黄胜霞/姓名 岗位前台接待/岗位 /员工 /员工名单 SAX解析器【重点掌握】 JAVA为SAX解析器提供了如下2组API: XMLReader 和XMLReaderFactory XMLReaderFactory工厂类createXMLReader()静态方法用于创建XMLReader。这两个类位于org.xml.sax包下。 SAXParser 和SAXParserFactory SAXParserFactory工厂类的newSAXParser()实例方法用于创建SAXParser。这两个类位于javax.xml.parsers包下。 XMLReader定义了以下两种用于解析XML文档 的方法: void parse(InputSource input):解析InputSource输入源中的XML文档 void parse(String systemId):解析系统URI所代表的XML文档 SAXParser定义了以下几种用于解析XML文档的方法: void parse(File f,DefaultHandler dh):使用指定的dh作为监听器监听SAX解析事件,解析f文件所代表的XML文档 void parse(InputSource is,Default

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档