代码改变世界

android SAX解析xml文件

2011-11-29 19:13  javaspring  阅读(200)  评论(0编辑  收藏  举报

SAX解析XML文件的步骤:

第一步:通过SAX工厂取得SAX解析器

 SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();//取得SAX解析的工厂
 SAXParser saxParser = saxParserFactory.newSAXParser();//取得SAX解析器

第二步:调用SAX解析器的方法parse 对xml进行解析
  PersonParser personParser = new PersonParser();
  saxParser.parse(inStream, personParser); // 当解析到相应的XML文件时就会触发事件personParser对应的回调方法

第三步:实现第二步的personParser对应的回调方法   

//继承DefaultHandler 重写触发事件的方法,自己写实现方法

private final class PersonParser extends DefaultHandler{

//当解析到<?xml .....>标签时,该函数会被执行
  @Override
  public void startDocument() throws SAXException {
   persons = new ArrayList<Person>();
  }
  
  @Override
  /*
   * uri 是命名空间的uri
   * localName 是不带命名空间的后缀名
   * qName 是带命名空间的名字
   * attributes 是存放标签的属性值
   */

//当遇到元素结点时,该函数被执行
  public void startElement(String uri, String localName, String qName,
    Attributes attributes) throws SAXException {
   
  }
  //当遇到文本结点时,该函数被执行
  @Override
  public void characters(char[] ch, int start, int length)
    throws SAXException {
  }

//当遇到元素结点结束时,该函数被执行
  @Override
  public void endElement(String uri, String localName, String qName)
    throws SAXException {  
 }