现在的位置: 首页 > 综合 > 正文

android之xml数据解析(SAX)

2012年12月11日 ⁄ 综合 ⁄ 共 945字 ⁄ 字号 评论关闭

使用SAX事件驱动模型解析xml数据:

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

  1. 创建SAXParserFactory对象

    SAXParserFactory factory = SAXParserFactory.newInstance();

  2. 创建SAXReader对象

    SAXReader reader = factory.newwSAXParser().getXMLReader();

  3. 为XMLReader设置内容处理器,当读取xml文件时里面相应的函数会被调用。MyContentHandler这个类我们选择继承DefaultHandler并且实现相应的方法

    reader.setContentHandler(new MyContentHandler());

  4. 解析数据

    reader.parse(new InputSource(new StringReader(这就是xml数据,不管是网络上的还是本地的)));

 

DefaultHandler类中部分方法的述解:namespaceURI是xml文件的命名空间;localName是不包含前缀的元素名;qName是包含前缀的元素名;attr就是属性,它相当于数组

  public void startElement(String namespaceURI , String localName , String qName , Attribute attr) throws SAXException {

  tagName = loaclName;

  if(localName.equal("元素名")){

  for(int i=0 ; i<attr.getLength() ; i++){

    System.out.print("输出属性名字:"+attr.getLocalName(i));

    System.out.print("输出属性值:"+attr.getValue(i));

    }

  }

  }

    

抱歉!评论已关闭.