`

xml DOM和sax概念的总结

阅读更多

1.DOM、SAX的比较

(1)DOM的优点和不足 

         首先,DOM是面向对象的,功能强大,使用起来要简单的多。其次,由于DOM树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构进行更改。它可以在任何时候在树中导航,而不像sax那样是一次性的处理。

         但是,另一方面,在内存中构造这样的树设计大量的开销。大型文件完全占用系统内存容量的情况并不少见。此外,创建一棵DOM树可能是一个缓慢的过程。

(2)SAX的优点和不足

         相比于文档对象模型DOM,SAX是读取和操作XML数据的更快速、更轻量的方法。SAx允许你在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。它不涉及DOM所必需的开销和概念跳跃。

         另一方面,SAX也有一些不足。DOM所提供的丰富的标准功能在SAX中是没有的。SAX事件是无状态的。当SAX解析器在XML文档中发现文本时,他就向代码发送一个事件。该事件仅仅发现文本,但并不告诉你什么元素包含那个文本。如果想知道这一点,则必须自己编写状态管理代码。SAX事件不是持久的。如果应用程序需要一个数据结构来对XML文档建模,则必须自己编写那样的代码。如果需要从SAX事件访问数据,并且没有把那个数据存储在代码中,那么你不得不再次解析该文档。

2.如何在SAX和DOM之间选择

 (1)应用程序的目的

          如果打算对数据做出更改并将它输出为XML,那么在大多数情况下,DOM是适当的选择。SAX也能更改数据,但是过程要复杂的多,因为你必须对数据的一份拷贝而不是对数据本身作出更改。

 (2)数据容量

         对于大型文件,SAX是更好的选择。

(3)数据将如何使用

         如果只有数据中的少量部分会被使用,那么使用SAX来将该部分数据提取到应用程序中可能更好。

(4)对速度的需要

         SAX实现通常比DOM实现更快。

SAX和DOM不是相互排斥的,你可以用DOM来创建SAX事件流,也可以使用SAX来创建DOM树。

   

 

分享到:
评论

相关推荐

    DOM和SAX概念的总结

    【DOM和SAX概念的总结】 在XML处理中,有两个主要的解析模型:基于对象的DOM(Document Object Model)和基于事件的SAX(Simple API for XML)。它们都是用来解析和操作XML文档的API,但各有特点和适用场景。 DOM...

    xml_DOM_SAX.rar_DOM_dom xml saxxml_java dom_sax

    在Java中,处理XML文件主要有两种解析器:DOM(Document Object Model)和SAX(Simple API for XML)。这两种解析方式各有特点,适用于不同的场景。 1. DOM解析: DOM解析器将整个XML文档加载到内存中,构建一个树...

    xml&dom&sax&dom4j 代码编写和总结

    对于xml&dom&sax&dom4j 文件解析的代码总结

    DOM.rar_DOM SAX_XML DOM_dom xml java_sax_simple

    DOM(Document Object Model)和SAX(Simple API for XML)是解析XML文档的两种主要方法。 DOM是一种W3C标准,它将XML文档视为一棵树形结构,其中每个节点代表XML文档的一部分。在DOM解析中,整个XML文档被加载到...

    dom和sax对xml的解析

    在Java中,有多种方式可以解析XML文档,其中最常用的是DOM(Document Object Model)和SAX(Simple API for XML)。本篇文章将详细介绍DOM和SAX解析XML的方法,并通过提供的`DomDemo.java`和`SaxDemo.java`示例代码...

    XML_DOM_SAX.rar_ XML_DOM_SAX_c# sax_dom解析xml_xml parser csharp_x

    在C#中处理XML时,有两种主要的解析方法:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析: DOM是一种将整个XML文档加载到内存中的解析方式,它构建了一个树形结构来表示XML文档,允许...

    XML文件c语言 dom和sax模式解析

    总结来说,C语言中的XML解析涉及到DOM和SAX两种模式,DOM适合小到中型XML文件,提供方便的数据访问和修改;SAX则适合大型XML文件,以节省内存。Xerces-C++库为这两种解析方式提供了强大的支持,通过注册事件处理器或...

    dom解析和sax解析

    DOM(Document Object Model)解析和SAX(Simple API for XML)解析是两种常见的XML文档解析方式,它们在处理XML数据时有不同的策略和优缺点。 DOM解析是一种基于树型结构的XML解析方法。当一个XML文档被DOM解析器...

    解析XML的dom、sax和dom4j的jar包

    在Java中,解析XML有多种方法,主要包括DOM、SAX和DOM4J。下面将详细介绍这三种解析方式及其对应的jar包。 1. DOM (Document Object Model) DOM是一种基于树形结构的XML解析方法,它将整个XML文档加载到内存中,...

    qt使用DOM和SAX两种方式读写XML文件,代码工程demo,亲测可用

    在Qt框架中,处理XML文件是常见的需求,本项目提供了一个使用DOM(Document Object Model)和SAX(Simple API for XML)两种解析方式的示例,帮助开发者理解如何在Qt环境下进行XML文件的读写操作。 首先,DOM是一种...

    Java解析XML文件的DOM和SAX方式.doc

    Java 解析 XML 文件的 DOM 和 SAX 方式 Java 解析 XML 文件的 DOM 和 SAX 方式是指在 Java 中使用 Document Object Model(DOM)和 Simple API for XML(SAX)两种方式来解析 XML 文件的技术。下面将详细介绍这两种...

    DOM和SAX解析XML文档

    解析XML文档是理解和操作这些数据的关键步骤,主要有两种主要方法:DOM(Document Object Model)和SAX(Simple API for XML)。这两种方法各有优缺点,适用于不同的场景。 一、DOM解析 DOM解析器将整个XML文档加载...

    xml dom,sax解析,schema验证

    DOM(Document Object Model)和SAX(Simple API for XML)是两种常用的XML解析方法。 DOM解析是将XML文档加载到内存中形成一棵树状结构,称为DOM树。每个节点代表XML文档的一个部分,如元素、属性、文本等。通过...

    jsp操作xml源码,解析器为DOM和SAX

    在本案例中,“jsp操作xml源码,解析器为DOM和SAX”是关于如何在JSP中读取和处理XML文件的一种实践。 首先,我们要介绍两种主要的XML解析器:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM...

    JDK自带xml解析器dom+sax

    JDK(Java Development Kit)提供了两种内置的XML解析器:DOM(Document Object Model)和SAX(Simple API for XML),它们各有特点,适用于不同的场景。 1. DOM解析XML: DOM解析器将整个XML文档加载到内存中,...

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

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

    XML-java.rar_XML SAX_sax_sax xml_sax 解析 xml_xml using dom

    4. **JOM4J**:JOM4J(也称为OxM4J)是另一个高效的XML处理库,它提供了DOM、SAX和StAX的实现,以及XPath和XSLT支持。JOM4J以高性能著称,对于大型XML文档的处理非常有优势。 压缩包中的"XML文档解析"可能包含以下...

    Dom,Sax,Xpath解析XML实例

    以上就是DOM、SAX和XPath解析XML的基本知识和实例应用。通过这些技术,开发者可以根据实际需求选择最适合的方式来处理XML文档。在实际项目中,这三种解析方法都有其适用场景,理解它们的工作原理和优缺点,将有助于...

Global site tag (gtag.js) - Google Analytics