新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     >>W3CHINA.ORG讨论区<<     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论DOM, SAX, XPath等。
    [返回] W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWLXML.ORG.CN讨论区 - XML技术『 DOM/SAX/XPath 』 → SAX分析器接口简介 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 3750 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: SAX分析器接口简介 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     卷积内核 帅哥哟,离线,有人找我吗?
      
      
      威望:8
      头衔:总统
      等级:博士二年级(版主)
      文章:3942
      积分:27590
      门派:XML.ORG.CN
      注册:2004/7/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给卷积内核发送一个短消息 把卷积内核加入好友 查看卷积内核的个人资料 搜索卷积内核在『 DOM/SAX/XPath 』的所有贴子 访问卷积内核的主页 引用回复这个贴子 回复这个贴子 查看卷积内核的博客楼主
    发贴心情 SAX分析器接口简介

    SAX是一种事件驱动的接口,它的基本原理是由接口的用户提供符合定义的处理器,XML分析时遇到特定的事件,就去调用处理器中特定事件的处理函数。一般SAX接口都是用JAVA实现的,但事实上C++也可以用于实现SAX接口,只是C++的分析器比较少。之所以叫做"简单"应用程序接口,是因为这个接口确实非常简单,绝大多数事情分析器都没有做,需要应用程序自己去实现,因而开发者的任务也相应重一些。

    SAX分析器的大体构成框架如图所示:

    最上方的SAXParserFactory用来生成一个分析器实例。XML文档是从左侧箭头所示处读入,当分析器对文档进行分析时,就会触发在DocumentHandler,ErrorHandler,DTDHandler以及EntityResolver接口中定义的回调方法。

    SAX分析器中的几个主要API接口简单的介绍。

    SAXParserFactory
    SAXParserFactory对象用来按照系统属性中的定义创建一个分析器的实例,接口是Javax.xml.parser. SAXParserFactory。

    Parser
    org.xml.sax.Parser接口定义了类似setDocumentHandler的方法来创建事件处理函数。另外,该接口中还定义了parser(URL)方法来对XML文档进行实际的分析工作。

    DocumentHandler
    当分析器遇到XML文档中的标记时,就会激活该接口中的startDocument,endDocument,startElement以及endElement等方法。另外,characters方法以及processingInstruction方法也是在DocumentHandler接口中实现的。当分析器遇到元素内部的文本内容时就会激活characters方法,当分析器遇到处理指令时就会激活processingInstruction方法。

    ErrorHandler
    当分析器在分析过程中遇到不同的错误时,ErrorHandler接口中的error、fatalError或者warning方法就会被激活。

    DTDHandler
    当处理DTD中的定义时,就会调用该接口中的方法。

    EntityResolver
    当分析器要识别由URI定义的数据时,就会调用该接口中的resolveEntity方法。

    一个典型的SAX应用程序至少要提供一个DocumentHandler接口。一个健壮的SAX应用程序还应该提供ErrorHandler接口。


       收藏   分享  
    顶(1)
      




    ----------------------------------------------
    事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/8/9 10:21:00
     
     tatezhou 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:3
      积分:67
      门派:XML.ORG.CN
      注册:2005/6/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tatezhou发送一个短消息 把tatezhou加入好友 查看tatezhou的个人资料 搜索tatezhou在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tatezhou的博客2
    发贴心情 
    good
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/6/4 11:47:00
     
     guiguzi629 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:33
      积分:184
      门派:XML.ORG.CN
      注册:2004/9/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给guiguzi629发送一个短消息 把guiguzi629加入好友 查看guiguzi629的个人资料 搜索guiguzi629在『 DOM/SAX/XPath 』的所有贴子 引用回复这个贴子 回复这个贴子 查看guiguzi629的博客3
    发贴心情 
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/6/8 21:50:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 DOM/SAX/XPath 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/8/1 16:25:43

    本主题贴数3,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    62.500ms