Android开发视频教程第一季(Mars)

Android开发视频教程第一季(Mars)

5 (435人评价)
  • 课时:(35)

  • 学员:(6926)

  • 浏览:(343794)

  • 加入课程

Android开发视频教程20的笔记

相关课时: 笔记详情:

XML 可扩展标记语言 标记没有限制 rsss

SAX 解析xml  (还有demo也可以解析xml,解析成树,比较方便但是不适用较大的xml)

  • SAX,全称Simple API forXML,既是指一种接口,也是指一个软件包
  • 作为接口,SAX是时间驱动型XML解析的一个标准接口

SAX的原理

SAX的工作原理简单的说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档结束等地方时通知事件处理函数,由时间处理函数做相应动作,然后继续同样的扫描。直至文档结束。

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

  • 在文档的开始和介绍时触发文档处理事件。
  • 在文档内每一个XML元素接受解析的前后触发元素事件。
  • 任何元数据通常都由单独的事件交付。
  • 在处理文档的DTD或Schema时产生DTD或Schema事件。
  • 产生错误事件用来通知主机应用程序解析错误。

SAX模型

SAXParserFactory SAX解析工厂 工厂模式

SAXParser——>SAXreader(ContentHandler内容处理、ErrorHandler错误处理、DTDHandler处理DTD、EntityResolver处理文档中的实体) ——>解析XML

解析文档的过程:

  • 创建事件处理程序。
  • 创建SAX解析器、
  • 将事件处理程序分配给解析器。
  • 对文档进行解析,将每个时间发送给处理程序。

SAX的常用接口介绍

ContentHandler接口

ContentHandler是Java类包中一个特殊的SAX接口,位于org.xml.sax包中。该接口封装了一些对事件处理的方法,当XML解析器开始解析XML输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,xml解析器会调用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,in length)

http://web.mit.edu/zac/MacData/afs/sipb/project/android/docs/reference/org/xml/sax/ContentHandler.html

0 0

你感兴趣的课程

8万+浏览/ 916学员/ 4.5评分
免费
6万+浏览/ 177学员/ 5评分
免费
6万+浏览/ 973学员/ 4.8评分
免费