java解析xml文件的2种方法:sax,dom

转载 2007年09月15日 10:47: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,调用其相应的方法进行响应。 

相关文章推荐

java中解析xml文件的五种常见方法:DOM4J,dom,pull,SAX,Jdom

package com.zhidi.dom4jtest; import java.io.File; import java.util.ArrayList; import java.uti...

Android三种解析xml文件的方法:SAX, PULL, DOM

在Android开发中,经常用到解析xml文件,常见的解析xml文件的方式有以下三种方式: 本节示例在最后可以下载运行 SAX, PULL , DOM 三种方式,下面把这三种xml的解析方式进行总...

JAVA Web 开发之DOM和SAX解析XML文件

XML文件:       数据库   redarmy   40元           JavaScript网页开发   redarmy   38元     S...

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB、Dom4J

http://www.iteye.com/topic/668280 1.  DOM(Document Object Model)   此 方法主要由W3C提供,它将xml文件全部读入内存中,然后将...
  • htofly
  • htofly
  • 2012年07月12日 14:51
  • 3605

java中写入xml文件内容的方法:DOM,Jdom,pull,Dom4j,Sax

DOM写入xml文件内容的方法,陌生方法较多需要多加练习。 package com.WriterXML; import java.io.File; import javax.xm...

Java编程中操作XML文件(解析方法二:SAX)

以SAX方式解析

SAX, DOM, JDOM, DOM4J解析XML文件

  • 2015年12月10日 19:44
  • 777KB
  • 下载

使用SAX或者DOM或者pull解析XML文件的使用

在Android平台上可以使用Simple API for XML(SAX) 、 Document Object Model(DOM)和Android附带的pull解析器解析XML文件。 SAX是一...

SAX,DOM解析xml文件

SAX,DOM解析xml文件 import com.testDom.TestDom; import com.testSax.TestSAX; public class Main { pu...

android-----三种方式(sax、pull、dom)解析xml文件

解析xml文件常用的有三种方法,分别是sax、pull、dom。 现在分别用这三种方式解析一个xml文件,看看有什么区别。 第一种方式:sax方式解析xml文件 第二种方式:pull方式解析xml文件...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java解析xml文件的2种方法:sax,dom
举报原因:
原因补充:

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