• 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");

    }

    }



  • 相关阅读:
    struts2实现文件上传和下载
    Struts2中Action之ResultType
    初识Struts2
    Hibernate中get()和load()方法区别
    初识Hibernate框架,进行简单的增删改查操作
    memge和saveOrUpdate的区别
    apt-get install 出现could not open lock file /var/lib/dpkg/lock错误问题
    vscode工程目录文件及文件夹摘选
    C++引用
    内存分配区基本模型
  • 原文地址:https://www.cnblogs.com/WK-can-do-anything/p/5792222.html
Copyright © 2020-2023  润新知