欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

    《XML基础及实践开发教程》第十章.ppt

    • 资源ID:6525884       资源大小:320.15KB        全文页数:25页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《XML基础及实践开发教程》第十章.ppt

    ,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的支持,SAX工作原理,SAX的工作原理简单的说就是对文档进行顺序扫描,当扫描档文档的开始与结束、元素的开始与结束等处都会通知事件处理函数、由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。,SAX的处理机制,张三19,文档开始 元素开始 字符数据(空白)元素开始()字符数据(张三)元素结束()字符数据(空白)元素开始()字符数据(18)元素结束()字符数据(空白)元素结束文档结束,SAX的优缺点,SAX的优点:解析速度快内存消耗少ContentHandler对象可以并行SAX的缺点:必须实现时间处理程序不能随机访问不能修改文档,SAX实现产生的事件类型,以下为大多数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解析器都必须实现的接口允许应用程序设置和查询解析器的特性和解析属性注册事件处理器启动文档解析ContentHandler:负责向应用程序反馈与文档相关的基本的解析事件DTDHandlerErrorHandler,ContentHandler,ContentHandler是Java包中一个特殊的SAX接口,位于包中。该接口封装了一些对事件处理的方法,当XML解析器开始解析XML输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素的开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,XML解析器会调用ContentHandler接口中相应的方法来响应该事件。,ContentHandler,ContentHandler接口中的方法:void startDocument()void 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),DTDHandler,DTDHandler用于接收基本的DTD相关事件的通知。该接口位于包中。此接口仅包含DTD事件的注释和未解析的实体声明部分。SAX解析器可以按任意顺序报告这些事件,而不管声明注释和未解析实体时所采用的顺序。但是,必须在文档处理程序的startDocument()事件之后,在第一个startElement事件之前报告所有的DTD事件,DTDHandler,DTDHandler接口包括以下两个方法:接收注释声明事件的通知public void notationDecl(String name,String publicId,String systemId)throws SAXException 接收未解析的实体声明事件的通知public void unparsedEntityDecl(String name,String publicId,String systemId,String notationName)throws SAXException,EntityResolver,EntityResolver接口用于解析实体的基本接口,该接口位于包中。该接口只有一个方法:允许应用程序解析外部实体。并返回一个InputSource类的对象或者null,用于读取实体信息。public InputSource resolveEntity(String publicId,String systemId)throws SAXException,IOException,ErrorHandler,ErrorHandler接口是SAX错误程序的基本接口。如果SAX应用程序需要实现自定义的错误处理,则必须实现此接口,然后解析器将通过此接口报告所有的错误和警告。接口的方法如下:接收可恢复的错误通知void error(SAXParseException exception)接收不可恢复的错误通知void fatalError(SAXParseException exception)接收警告的通知void warning(SAXParseException exception),SAX的其他类和接口,XMLReaderFactoryXMLReaderFactory是一个final类,创建XML解析器的工厂类。该类包含两个静态方法:static XMLReader createXMLReader()根据默认设置创建一个XMLReader的对象static XMLReader createXMLReader(String className)根据指定的解析器类名创建一个XMLReader的对象,XMLReader,XMLReader接口是使用回调读取XML文档的接口。XMLReader是XML解析器SAX2驱动程序必须实现的接口。此接口允许应用设置和查询解析器中的功能和属性。注册文档的事件处理程序,以及对文档的解析,XMLReader接口的部分方法,Attributes接口,Attributes接口是一个关于XML元素属性列表的接口。此接口允许用不同方式访问属性列表,如通过属性索引、通过名称空间限定的名称等。该接口位于org.xml.sax包中,它封装了元素属性信息的所有方法:,Attributes接口,int getIndex(String qName)方法:返回通过XML限定(前缀)名查找属性的索引值。int getLength()方法:返回此列表中的属性个数。String getLocalName(int index)方法:返回索引值为index的属性的本地名String getQName(int index)方法:返回索引值为index的属性的XML限定名,创建XML解析器,SAXParserFactory spFactory=SAXParserFactory.newInstance();SAXParser sParser=spFactory.newSAXParser();,DefaultHandler,DefaultHandler类是SAX2事件处理程序的默认基类。它继承了EntityResolver、DTDHandler、ContentHandler和ErrorHandler接口,案例:,解析XML文档张三18李四120,本章结束,

    注意事项

    本文(《XML基础及实践开发教程》第十章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开