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,调用其相应的方法进行响应。

相关文章推荐

JavaWeb 之 XML文档的DOM和SAX解析方式详解

笔记摘要:       这里主要介绍了DOM与SAX两种解析思想,其中DOM解析的开发包有Ajax和DOM4j,对于DOM4j,其强大的功能,在XPath方面尤为抢眼,       XPath类似于正...

DOM和SAX解析XML文档

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

分别利用利用SAX、DOM、PULL三种方法解析XML文档

分别利用利用SAX、DOM、PULL三种方法解析XML文档
  • qtone
  • qtone
  • 2011年07月05日 14:49
  • 175

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

DOM方式解析XML文件 DOC解析编程: 查找某一个节点        // 查找固定值的书的元素的第二个子节点     public static void findFixedChildr...
  • m41_s
  • m41_s
  • 2011年11月07日 19:27
  • 111

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

两种解析XML文档的方法---DOM和SAX DOM方式解析XML文件 DOC解析编程: 查找某一个节点       // 查找固定值的书的元素的第二个子节点     public stat...

sax和dom在解析xml文档时有什么区别

当你需要处理XML文档时,你的首要选择是使用DOM(文档对象模型)还是使用SAX(用于XML的简单API),即当前使用的两个主要的XML API。你可以使用任何一种(或者在同一时间使用两种)来处理XM...

Android SAX,DOM,PULL解析XML文档

一,写XML XiaoYang 19 XiaoZhang 28 XiaoZhao 38 二,编写对应XML的bean类 package sn...

DOM、SAX解析xml文档

book.xml                 thinking in java         85.5                     Spring in ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sax和Dom解析xml文档 文档驱动和事件驱动
举报原因:
原因补充:

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