zoukankan      html  css  js  c++  java
  • android之xml数据解析(SAX)

    使用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));

        }

      }

      }

        

  • 相关阅读:
    echo和tee的使用
    cut列的截取
    BZOJ1414: [ZJOI2009]对称的正方形(二维hash)
    BZOJ1010: [HNOI2008]玩具装箱toy
    BZOJ2588: Spoj 10628. Count on a tree(主席树)
    BZOJ3991: [SDOI2015]寻宝游戏(set+lca / 虚树)
    BZOJ2286: [Sdoi2011]消耗战(虚树)
    Linux
    奇妙的棋盘(建图+搜索)
    礼物(动态规划)
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2411131.html
Copyright © 2011-2022 走看看