xml的sax解析思路

简介:


    android.util.Xml提供了一个使用sax方式解析xml的静态接口. 
    static void parse(InputtStream in,Xml.Encoding encoding,ContentHandler contentHandler) 
    所以在android中使用sax解析xml最简单的做法就是自己写一个类,它是org.xml.sax.ContentHandler的子类,而ContentHandler是个接口,它有个子类为org.xml.sax.helpers.DefaultHandler,只要自己写个类继承它就行了. 
    一般在contentHandler的子类中,需要override几个回调方法: 
    public void startDocument()   开始解析xml文件时调用
    public void startElement(String uri, String localName, String name, Attributes attributes)  开始解析xml标签时调用
    public void characters(char[] ch, int start, int length) 解析xml标签中某个起始标签和结束标签之间夹的值
    public void endElement(String uri, String localName, String name)  解析到一个xml结束标签时调用
    public void endDocument() 解析xml完成时调用

    需要说明的是,像<title><![CDATA[这里是新闻标题]]></title>这种放在cdata中的字符串也是能解析出来的.

    总的来说,sax解析xml相当于逐行扫描文件,每遇到一个标签,就压栈,碰到结尾标签,就出栈.中间碰到非标签,就当标签之间夹的值来处理.


本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/08/19/2145205.html,如需转载请自行联系原作者


目录
相关文章
|
3天前
|
XML JSON 数据格式
xml文档解析报错解决办法
xml文档解析报错解决办法
|
3天前
|
XML 数据格式
AXios接受XML格式的webservice并解析成数据格式
AXios接受XML格式的webservice并解析成数据格式
12 2
|
26天前
|
XML 存储 IDE
Java_XML解析精讲
Java_XML解析精讲
14 0
|
1月前
|
XML 机器学习/深度学习 JSON
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
20 0
在火狐浏览器调ajax获取json数据时,控制台提示“XML 解析错误:格式不佳”。
|
2月前
|
XML Java 数据格式
Spring5源码(17)-Spring解析xml默认命名空间
Spring5源码(17)-Spring解析xml默认命名空间
18 0
|
11天前
|
C语言
内核源码中遇到不会解析的宏怎么办?
内核源码中遇到不会解析的宏怎么办?
189 1
|
2月前
ChatGLM2 源码解析:`GLMTransformer`
ChatGLM2 源码解析:`GLMTransformer`
162 0
|
2月前
ChatGLM2 源码解析:`ChatGLMForConditionalGeneration.forward`
ChatGLM2 源码解析:`ChatGLMForConditionalGeneration.forward`
137 0
|
2月前
ChatGLM2 源码解析:`ChatGLMModel`
ChatGLM2 源码解析:`ChatGLMModel`
154 0
|
2月前
ChatGLM2 源码解析:`GLMBlock`
ChatGLM2 源码解析:`GLMBlock`
126 0

相关产品

  • 云迁移中心
  • 推荐镜像

    更多