`

sax,dom,jdom,dom4j的比较

    博客分类:
  • xml
 
阅读更多

SAX

sax分析器在对xml文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对xml文档的访问.

因为事件触发是有时序性的,所以sax分析器提供的是一种对xml文档的顺序访问机制,对于已经分析过的部分,

不能再重新倒回去处理.

sax分析器在实现时,只是顺序地检查xml文档中的字节流,判断当前字节是xml语法中的哪一部分,检查是否符合

xml语法并且触发相应的事件.对于事件处理函数的本身,要由应用程序自己来实现.

同DOM分析器相比,sax分析器对xml文档的处理缺乏灵活性,但对于只访问xml文档中的数据而不改变应用程序

来说,sax分析器的效率会很高.

sax对内存要求也比较低.

 

优点:无需将整个文档加载到内存中,所以内存消耗少.

       推模型允许注册多个contentHandler.

缺点:没有内置的文档导航支持.

       不能随机访问xml文档.

       不支持原地修改xml.

       不支持名字空间作用域.

 

DOM

DOM分析器把整个xml文档以一棵树的形式放在内存中,应用程序可以随时对DOM树中的任何一个部分进行访问

与操作.通过DOM树,应用程序可以随机访问.

这种访问方式给程序开发带来了很大的灵活性,可以任意地控制整个xml文档中的内容.

但是DOM对内存的需求比较高,并且效率也不是很理想.

 

优点:丰富的API集合,可以轻松导航.

      整个DOM树加载到内存,允许随机访问.

缺点:整个xml文档必须一次解析完.

      整个DOM树都加载到内存中,内存要求高.

      一般的DOM节点对于必须为所有节点创建对象的对象类型绑定不太理想.

 

JDOM

JDOM是处理xml的纯java api.使用具体类而不是接口.JDOM具有树的遍历,又有SAX的java规则.

 

优点:是基于树的处理xml的java api,把树加载到内存中.

      没有向下兼容的限制,所以比DOM简单.

      速度快.

      具有SAX的java 规则.

缺点:不能处理大于内存的文档.

       JDOM表示XML文档逻辑模型,不能保证每个字节真正变换.

       针对实例文档不提供DTD与模式的任何实际模型.

       不支持于DOM中相应遍历包.

 

DOM4J

dom4j有更复杂的api,所以dom4j比jdom有更大的灵活性.

 

 

分享到:
评论

相关推荐

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较.txt )

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...

    dom jdom sax dom4j 原理性能比

    本篇文章将探讨四种处理XML的Java库:DOM、JDOM、SAX和DOM4J,分析它们的原理、性能特点以及适用场景。 首先,我们来了解DOM(Document Object Model)。DOM是W3C组织定义的一种API,它将XML文档解析为一个树形结构...

    用DOM SAX JDom dom4j 对xml文档解析实例

    本文将深入探讨DOM、SAX、JDom和dom4j四种流行的Java XML解析器,以及它们在处理XML文档时的特点和用法。 1. DOM(Document Object Model) DOM是W3C推荐的一种解析XML的标准方法。它将XML文档表示为一个树形结构,...

    XML四种解析方式------DOM SAX JDOM DOM4J

    在处理XML文档时,有多种解析方式,包括DOM、SAX、JDOM和DOM4J。每种解析方式都有其特性和适用场景,下面将详细探讨这四种解析方法。 1. DOM(Document Object Model) DOM解析器将整个XML文档加载到内存中,形成一...

    DOM、SAX、JDOM、DOM4J读写xml文档

    在Java中,有几种不同的API可以用来处理XML文档,包括DOM、SAX、JDOM和DOM4J。下面将详细介绍这四种方式。 **DOM(Document Object Model)** DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个可...

    Java解析XML汇总DOM_SAX_JDOM_DOM4j_XPath

    ### Java解析XML技术详解:DOM、SAX、JDOM、DOM4j与XPath #### 一、基础知识概览 在Java开发中,处理XML文件是一项常见的任务。XML(Extensible Markup Language,可扩展标记语言)是一种用于存储和传输数据的标准...

    XML操作(dom,sax,jdom,dom4j)

    在处理XML时,有多种解析器可供选择,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM以及DOM4J。下面将详细解释这些解析方式及其特点。 1. DOM解析器 DOM解析器将整个XML文档加载到内存中,...

    java 操作xml(dom,sax,jdom,dom4j)需要的包

    在Java中,有多种方式来解析和操作XML文档,包括DOM(Document Object Model)、SAX(Simple API for XML)、JDOM和DOM4J。每种方法都有其特点和适用场景,相应的,它们也需要引入特定的库文件。以下是对这些方法...

    xml,sax,jdom,dom4j完全讲解

    【XML详解】 XML,全称为eXtensible Markup Language,是一种可扩展的标记语言,用于描述数据和结构,而非展示方式...理解并掌握XML的基础知识,以及与其相关的API如JDOM和DOM4J,对于进行XML处理和开发具有重要意义。

    sax,dom,jdom,dom4j之xml解析大荟萃

    在Java中,有多种XML解析器供开发者选择,包括SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。这四种解析方式各有特点,适用于不同的场景。下面我们将详细探讨它们的原理、优缺点以及应用...

    生成、解析xml的四种方式(dom,dom4j,sax,jdom)

    本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...

    dom,jdom,dom4j的区别

    在选择DOM、SAX、JDOM或DOM4J时,主要考虑以下几个因素:1) 对性能的需求,大型文档可能更适合SAX或DOM4J的流处理模式;2) 对编程简便性的要求,DOM和JDOM通常更容易上手,而SAX需要编写更多的事件处理代码;3) 是否...

    操作xml的方式: SAX, DOM, JDOM , DOM4J的比较

    处理XML文档有多种方式,其中最常见的是SAX(Simple API for XML)、DOM(Document Object Model)、JDOM和DOM4J。下面我们将详细探讨这四种方法。 1. DOM(Document Object Model) DOM是W3C制定的一个标准,它...

    dom jdom dom4j 案例

    在Java中,有多种库用于解析XML,包括DOM(Document Object Model)、JDOM和DOM4J。这些解析器各有特点,适用于不同的场景。 **DOM解析** DOM是一种基于树形结构的XML解析模型,它将整个XML文档加载到内存中,形成...

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

    本文将详细介绍四种在Java中解析XML文件的方法:SAX、DOM、JDOM以及DOM4J。 1. SAX(Simple API for XML) SAX是一种基于事件驱动的解析器,它在读取XML文档时会触发一系列事件,如开始元素、结束元素、字符数据等...

    DOM JDOM dom4j 实例源码

    dom4j是另一个流行的Java XML处理库,它不仅支持DOM模型,还提供了SAX和StAX的接口。dom4j的优势在于它的灵活性和强大的功能,例如,它支持XPath查询,可以方便地解析和修改XML文档。同时,dom4j的API设计也比JDOM和...

    java操作xml dom dom4j sax jdom

    以上四种方式各有优缺点,DOM适合小文件并要求快速访问任何部分,SAX适合大文件但需要实时处理,DOM4J和JDOM提供了更友好的API但可能消耗更多资源。在实际开发中,应根据项目需求选择合适的方法。在提供的"testxml...

    JAVA读XML:sax,dom,jdom,dom4j的比较以及选择.doc

    Java 读取XML文件时,有多种解析器可供选择,分别是SAX、DOM、JDOM和DOM4J。这些解析器各有优缺点,适用于不同的场景。 SAX(Simple API for XML)是一种基于事件驱动的解析器。它在解析XML文件时,会按顺序触发一...

    XML解析的四种方法源码(DOM, JDOM ,DOM4J , SAX)

    在Java中,解析XML文件是常见的任务,通常有四种主要的方法:DOM (Document Object Model),JDOM,DOM4J以及SAX (Simple API for XML)。以下是对这四种XML解析方式的详细介绍: 1. DOM解析: DOM是一种树形结构的...

Global site tag (gtag.js) - Google Analytics