zoukankan      html  css  js  c++  java
  • java学习之路——利用SAX解析XML实例

     SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,虽然如此,使用SAX的还是不少,几乎所有的XML解析器都会支持它。
    与DOM比较而言,SAX是一种轻量型的方法。我们知道,在处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成DOM树上的每个Node对象。当文档比较小的时候,这不会造成什么问题,但是一旦文档大起来,处理DOM就会变得相当费时费力。特别是其对于内存的需求,也将是成倍的增长,以至于在某些应用中使用DOM是一件很不划算的事(比如在applet中)。这时候,一个较好的替代解决方法就是SAX。
    SAX在概念上与DOM完全不同。它不同于DOM的文档驱动,它是事件驱动的,它并不需要读入整个文档,而文档的读入过程也就是SAX的解析过程。所谓事件驱动,是指一种基于回调(callback)机制的程序运行方法。
    输入XML文件到XMLReader-->XMLReader(parse())解析-->ContentHandler(相当事件监听器,定义了好多方法,常用的startDocument(),endDocument(),startElement(),endElement(),characters())
    在XMLReader parse()过程中生成相应事件,以触发ContentHandler中相应的方法。

    以下是我写的代码:

    运行的结果见下图:


  • 相关阅读:
    从TList 复制数据,到另一个TList
    如何跨单元、跨类地访问Delphi类的私有域(网上收集)
    关于类的方法(不是类方法),类方法指针
    Delphi中枚举类型的应用[转]
    SQL Server日志过大会影响查询结果 .
    mssql 2005/2008/2012如何添加、查询、修改分区表中的数据 .
    SQL Server 分区表 删除(合并)一个分区 .
    sql全文索引的非聚合词库
    SQL Server 分区表添加一个分区 .
    SQL Server 2005 将普通表转换成分区表 .
  • 原文地址:https://www.cnblogs.com/lcqBlogs/p/2392379.html
Copyright © 2011-2022 走看看