SAX解析技术

  SAX,全称Simple API for XML,既是指一种接口,也是指一个软件包。SAX工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束等地方时通知事件处理函数,由事件处理函数做相应的动作,然后继续同样的扫描,直至文档结束。

  大多数SAX实现都会产生一下类型的事件:

           1、在文档的开始和结束时触发文档处理事件

           2、在文档内每个XML元素接受解析的前后触发元素事件

           3、任何元数据通常都由单独的事件交付

           4、在处理文档的DTD或Schema时产生DTD或Schema事件

           5、产生错误事件用来通知主机应用程序解析错误。

  SAX的常用接口介绍:

           ContentHandler接口,当XML解析器开始解析XML输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,XML解析器会调用ContentHandler接口中相应的方法响应该事件。

          ContentHandler接口的方法有一下几种:

                  void startDocument()      //SAX Reader开始读取XML文档时

                  void endDocument()       //SAX Reader读取结束时

                  void startElement(String uri,String localName,String qName,Attributes                                                 atts)   //开始读取XML文档中的一个标签时

                  void endElement(String uri,String localName,String qName)  //结束标签时

                  void characters(char[] ch,int start,int length)    //读取到标签的内容时

posted @ 2015-07-21 19:32  best.lei  阅读(508)  评论(0编辑  收藏  举报