zoukankan      html  css  js  c++  java
  • XML文件解析 笔记

    用SAX(simple API for XML)解析方式逐行扫描文档,可以在任一时刻停止解析,但是操作复杂、使用其SAX向文档添加或者删除内容比较困难。它既是一种接口,也是一个软件包。

    SAX工作原理:对文档进行顺序扫描,当扫描到文档开始与结束、元素开始与结束,产生事件通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
    文档处理事件、元素事件、DTD或Schema事件、错误事件
    SAX接口:ContentHandler、ErrorHandler、DTDHandler、EntityResolver
    (1)创建事件处理程序
    MyContentHandler类继承DefaultHandler实现其中的方法:startDocument、endDocument、 startElement(String( 命名空间),String(不包含前缀的标签名),String(包含前缀的标签名),Attributes(属性))、 endElement(String,String,String,Attributes)、characters(char[](读取的标签所有内 容),int(从哪一位开始读取),int(读取内容的长度))
    (2)创建SAX解析器
    SAXParseFactory factory = SAXParseFactory.newIntance();
    XMLReader reader = factory.newSAXParse().getXMLReader();
    (3)将事件处理程序分配给解析器
    reader.setContentHandler(new MyContentHandler());//设置内容处理器,其中MyContentHandler类中定义接口中的各种方法
    (4)对文档进行解析,将每个事件发送给处理程序
    reader.parse(new InputSourse(new StringReader(resultStr)));//将读取的数据直接放到StringReader对象中,StringReader专门用于以流的方式读取字符串
    resultStr为网络上下载的文件被存储为String类型
  • 相关阅读:
    JUnit快速入门
    CoreJava笔记之线程
    CoreJava笔记之JavaBean、静态方法static和final
    CoreJava基础之构造器
    JAVA环境配置
    软件测试工程师应该具备的能力
    Apache和Tomcat的整合过程(转载)
    ios界面适配和图标的各种大小
    iPhone6和iPhone6 plus的iOS8设计尺寸参考指南
    博主写的非常详细的ios网络请求、uiwebview与js交互
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/2136310.html
Copyright © 2011-2022 走看看