zoukankan      html  css  js  c++  java
  • Android学习-Sax解析XML

    XML解析


    XML可扩展标记语言


    Sax:

    事件驱动型解析接口

    原理
    对文档顺序扫描,对事件驱动的解析过程,

    事件

     开始解析

           开始解析根标签

              开始解析标签

                    解析到数据

             结束解析标签

         结束解析根标签

    结束解析

    工厂模式

    SaxParserFactory->SaxParser->SaxReader


    核心代码

    Stringstr ="<doc><p>test</p></doc>";

    SAXParserFactoryfatory =SAXParserFactory.newInstance();

    try{

    XMLReader reader = fatory.newSAXParser().getXMLReader();

    reader.setContentHandler(newXmlHandler());

    reader.parse(newInputSource(newStringReader(str)));

    }catch(Exception e) {

    //TODOAuto-generated catch block

    e.printStackTrace();

    }




    classXmlHandlerextendsDefaultHandler

    {


    @Override

    publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException {

    //TODOAuto-generated method stub

    Log.i("","------------characters:"+newString (ch));

    }


    @Override

    publicvoidendDocument()throwsSAXException {

    //TODOAuto-generated method stub

    Log.i("","------------endDocument");

    }


    @Override

    publicvoidendElement(String uri, String localName, String qName) throwsSAXException {

    //TODOAuto-generated method stub

    Log.i("","------------endElement");

    }


    @Override

    publicvoidstartDocument()throwsSAXException {

    Log.i("","------------startDocument");

    }


    @Override

    publicvoidstartElement(String uri, String localName, String qName, Attributesattributes) throwsSAXException {

    Log.i("","------------startElement");

    }

    }



  • 相关阅读:
    Java程序猿之从菜鸟到职场高手的必看
    每日一小练——高速Fibonacci数算法
    myeclipse 那个版本号好用?
    C++ Primer 学习笔记_61_重载操作符与转换 --自增/自减操作符
    海量数据存储
    架设FLASH视频流server心得
    java中接口的定义与实现
    Oracle误删恢复
    第四届蓝桥杯C++B组国(决)赛真题
    第三届蓝桥杯JavaC组国(决)赛真题
  • 原文地址:https://www.cnblogs.com/WK-can-do-anything/p/5792222.html
Copyright © 2011-2022 走看看