《XML基础及实践开发教程》第十章.ppt
《《XML基础及实践开发教程》第十章.ppt》由会员分享,可在线阅读,更多相关《《XML基础及实践开发教程》第十章.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 XML第十章第十章 SAX基础及实践开发教程基础及实践开发教程本章学习目标本章学习目标了解:SAX的基础知识熟练掌握:SAX的工作机制理解:SAX接口和类熟练掌握:SAX常用接口和类的使用SAX概述概述SAX-Simple API for XML,既是指一种接口,也是指一个软件包。基于事件来解析XML方案的典型代表SAX开始于1997年12月,由一些在互联网上分散的程序员合作进行。后来,参与开发的程序员越来越多,组成了互联网上的XML-DEV社区。1998年5月,SAX1.0由XML-DEV正式发布。目前最新的版本是2.0,但是两者多处不兼容。Java SE中的JAXP提供了对SAX2的支持
2、SAX工作原理工作原理SAX的工作原理简单的说就是对文档进行顺序扫描,当扫描档文档的开始与结束、元素的开始与结束等处都会通知事件处理函数、由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。SAX的处理机制的处理机制张三19文档开始 元素开始 字符数据(空白)元素开始()字符数据(张三)元素结束()字符数据(空白)元素开始()字符数据(18)元素结束()字符数据(空白)元素结束文档结束SAX的优缺点的优缺点SAX的优点:解析速度快内存消耗少ContentHandler对象可以并行SAX的缺点:必须实现时间处理程序不能随机访问不能修改文档SAX实现产生的事件类型实现产生的事件类型以下为大
3、多数SAX实现都会产生的事件:1.文档的开始和结束时出发文档处理事件2.在文档内每一XML元素接受解析的前后触发元素事件3.任何元数据通常由单独的事件交付4.在处理文档的DTD或Schema时产生DTD或Schema事件5.产生错误事件用来通知主机应用程序解析错误。SAX接口接口JDK的SAX API分布在org.xml.sax包、org.xml.sax.ext包、org.xml.sax.helpers包重要的接口和类:XMLReader:代表了SAX2解析器,它是一个所有的SAX2解析器都必须实现的接口允许应用程序设置和查询解析器的特性和解析属性注册事件处理器启动文档解析ContentHan
4、dler:负责向应用程序反馈与文档相关的基本的解析事件DTDHandlerErrorHandlerContentHandlerContentHandler是Java包中一个特殊的SAX接口,位于org.xml.sax包中。该接口封装了一些对事件处理的方法,当XML解析器开始解析XML输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素的开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,XML解析器会调用ContentHandler接口中相应的方法来响应该事件。ContentHandlerContentHandler接口中的方法:void startDocument()void
5、 endDocument()void startElement(String uri,String localName,String qName,Attributes atts)void endElement(String uri,String localName,String qName)void characters(char ch,int start,int length)DTDHandlerDTDHandler用于接收基本的DTD相关事件的通知。该接口位于org.xml.sax包中。此接口仅包含DTD事件的注释和未解析的实体声明部分。SAX解析器可以按任意顺序报告这些事件,而不管声明注
6、释和未解析实体时所采用的顺序。但是,必须在文档处理程序的startDocument()事件之后,在第一个startElement事件之前报告所有的DTD事件DTDHandlerDTDHandler接口包括以下两个方法:接收注释声明事件的通知public void notationDecl(String name,String publicId,String systemId)throws SAXException 接收未解析的实体声明事件的通知public void unparsedEntityDecl(String name,String publicId,String systemId,S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML基础及实践开发教程 XML 基础 实践 开发 教程 第十
限制150内