sax和Dom解析xml文档 文档驱动和事件驱动

原创 2007年09月14日 15:21:00
SAX概念 SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,可以说是“民间”的事实标准。实际上,它是一种社区性质的讨论产物。虽然如此,在XML中对SAX的应用丝毫不比DOM少,几乎所有的XML解析器都会支持它。 与DOM比较而言,SAX是一种轻量型的方法。我们知道,在处理DOM的时候,我们需要读入整个的XML文档,然后在内存中创建DOM树,生成DOM树上的每个Node对象。当文档比较小的时候,这不会造成什么问题,但是一旦文档大起来,处理DOM就会变得相当费时费力。特别是其对于内存的需求,也将是成倍的增长,以至于在某些应用中使用DOM是一件很不划算的事(比如在applet中)。这时候,一个较好的替代解决方法就是SAX。 SAX在概念上与DOM完全不同。首先,不同于DOM的文档驱动,它是事件驱动的,也就是说,它并不需要读入整个文档,而文档的读入过程也就是SAX的解析过程。所谓事件驱动,是指一种基于回调(callback)机制的程序运行方法。(如果你对Java新的代理事件模型比较清楚的话,就会很容易理解这种机制了) 在XMLReader接受XML文档,在读入XML文档的过程中就进行解析,也就是说读入文档的过程和解析的过程是同时进行的,这和DOM区别很大。解析开始之前,需要向XMLReader注册一个ContentHandler,也就是相当于一个事件监听器,在ContentHandler中定义了很多方法,比如startDocument(),它定制了当在解析过程中,遇到文档开始时应该处理的事情。当XMLReader读到合适的内容,就会抛出相应的事件,并把这个事件的处理权代理给ContentHandler,调用其相应的方法进行响应。

xml文件的解析解析方式及Dom解析与Sax解析的区别

一、简单概述你常见的xml解析方式 ①DOM
  • Crazy9599
  • Crazy9599
  • 2014年06月03日 19:20
  • 1073

XML解析的两种方式:DOM方式和SAX方式

DOM:Document ObjectModel,文档对象模型。这种方式是W3C推荐的处理XML的一种方式。 SAX:Simple API for XML。这种方式不是官方标准,属于开源社区XML-D...
  • u012526194
  • u012526194
  • 2015年09月26日 14:17
  • 3309

POI事件驱动模式读写Excel和格式设置及2007EXCEL解析SAXParser类找不到

POI事件驱动模式读写Excel 目前处理Excel的开源javaAPI主要有两种,一是Jxl(Java Excel API),Jxl只支持Excel2003以下的版本。另外一种是Apache的Jak...
  • mike_caoyong
  • mike_caoyong
  • 2014年02月06日 19:54
  • 4469

SAX是一个用于处理XML事件驱动的“推”模型,虽然它不是W3C标准,但它却是一个得到了广泛认可的API。SAX解析器不像DOM那样建立一个完整的文档树,而是在读取文档时激活一系列事件,这些事件被推给事件处理器,然后由事件处理器提供对文档内容的访问。

  • 2010年01月01日 20:38
  • 7KB
  • 下载

DOM和SAX解析XML文档

  • 2007年10月19日 15:03
  • 11KB
  • 下载

DOM SAX解析XML文档的范例(工程包)

  • 2011年05月04日 12:58
  • 9KB
  • 下载

DOM、SAX解析xml文档

book.xml                 thinking in java         85.5                     Spring in ...
  • ITrookieGe
  • ITrookieGe
  • 2012年09月09日 22:45
  • 410

两种解析XML文档的方法---DOM和SAX

两种解析XML文档的方法---DOM和SAX DOM方式解析XML文件 DOC解析编程: 查找某一个节点        // 查找固定值的书的元素的第二个子节点     public sta...
  • weiwei07241126
  • weiwei07241126
  • 2011年11月07日 18:51
  • 213

利用DOM和SAX解析XML文档

DOM:  (文档对象模型)  --将xml文件的节点解析成java语言中的对象 优点:可以对整个文档进行增删改查, 缺点:占用内存相对多【可以根据需要调整JVM的内存大小:例如在eclipse中可以...
  • cz703211
  • cz703211
  • 2016年04月12日 20:17
  • 140

解析XML文档的两类API:DOM 与 SAX的区别

SAX和DOM解析XML区别 分类: HT当你需要处理XML文档时,你的首要选择是使用DOM(文档对象模型)还是使用SAX(用于XML的简单API),即当前使用的两个主要的XML API...
  • huangjianpython
  • huangjianpython
  • 2014年05月10日 17:17
  • 272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sax和Dom解析xml文档 文档驱动和事件驱动
举报原因:
原因补充:

(最多只允许输入30个字)