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类型
  • 相关阅读:

    《银行》
    动画
    定位
    浮动
    《css的总结》
    Java的Debug调试
    Eclipse "Unable to install breakpoint due to missing line number attributes..."
    解决 Tomcat Server in Eclipse unable to start within 45 seconds 不能启动的问题
    Java下载文件(流的形式)
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/2136310.html
Copyright © 2011-2022 走看看