`
pengcqu
  • 浏览: 774650 次
  • 性别: Icon_minigender_1
  • 来自: 未来
社区版块
存档分类
最新评论

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

阅读更多

在项目开发中需要用到XML技术,这里对XML的两种解析方式做下简单描述。

在针对XML文档的应用编程接口中,最主要的有W3C制定的DOM(Document Object Method,文档对象模型)和由David Megginson领导的SAX(SimpleAPI for XML,用于XML的简单API)[19]

SAXDOM在实现过程中,分别侧重于不同的方面以满足不同的应用需求。DOM为开发基于XML的应用系统提供了便利。它通过一种随机访问机制,使得应用程序利用该接口可以在任何时候访问XML文档中的任何一部分数据,也可以对XML文档中的数据进行插入、删除、修改、移动等操作。在DOM中,文档的逻辑结构类似一棵树。文档、文档中的根、元素、元素内容、属性、属性值等都是以对象模型的形式表示的。DOM的优点在于它在内存中保存文档的整个模型。这使得能以任何顺序访问XML元素。然而,对于大型文档来说,这样做可能不方便。因为它可能会用尽内存,或者当系统达到了它的极限时,机器的性能将

会慢下来。

SAX提供了一种对XML文档进行顺序访问的模式,这是一种快速读写XML数据的方式SAX接口是事件驱动的,当使用SAX分析器对XML文档进行分析时,就会触发一系列事件,并激活相应的事件处理函数,从而完成对XML文档的访问。SAX处理XML的方式与DOM不同。SAX解析器不是将DOM树解析和表现为输出,它是基于事件的,所以在XML被解析时,事件被发送给引擎。SAX可以在文档的开始接收事件,也可以接收文档中的元素。使用这些事件可以构建一种结构。因为SAX没有把XML文档完全地加载到内存中,所以需要的系统资源较少,是一个分析大型XML文档的高效API。缺点是编写SAX比编写DOM复杂,这因为首先必须实现通知接口并维护状态,其次SAX不允许对文档进行随机访问,也没有提供像DOM那样的修改功能。

比较而言,DOMSAX各有自己的应用场合DOM适用于处理下面的问题解析比较小的XML文件;需要对文档进行修改;需要随机对文档进行访问。SAX适于处理下面的问题:对大型文档进行处理;只需要文档的部分内容;只需要从文档中得到特定信息。

分享到:
评论

相关推荐

    dom解析和sax解析

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

    XML的两种解析sax和dom

    在处理XML文档时,有两大主流解析方式:SAX(Simple API for XML)和DOM(Document Object Model)。这两种解析方式各有特点,适用于不同的场景。 1. SAX解析: SAX解析是一种事件驱动的解析方法,它逐行读取XML...

    DOM和SAX解析XML文档

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

    dom和sax对xml的解析

    XML(eXtensible Markup ...通过`DomDemo.java`和`SaxDemo.java`,你可以深入理解这两种解析方式的差异和使用场景,从而在实际项目中更好地处理XML数据。记得根据文件内容对代码进行相应的调整和优化,以满足具体需求。

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

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

    dom4j下sax解析xml

    在Java编程中,dom4j库提供了对这两种解析方式的支持。 **DOM解析**: DOM解析器将整个XML文档加载到内存中,创建一个树形结构,允许开发者通过节点遍历整个文档。虽然DOM提供了一种方便的方式来访问和修改XML文档...

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

    - 可能还包括对比DOM和SAX解析的性能测试,以及在不同场景下选择哪种解析方式的建议。 通过学习这些示例,开发者可以更好地理解XML解析原理,熟练掌握Java处理XML的技巧,提升软件开发中的数据处理能力。

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

    首先,我们要介绍两种主要的XML解析器:DOM(Document Object Model)和SAX(Simple API for XML)。 1. DOM解析器:DOM是一种基于树形结构的XML解析方法,它将整个XML文档加载到内存中形成一个文档对象模型,允许...

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

    XML(eXtensible Markup Language)是一种用于存储和交换结构化数据的标准格式,广泛应用于软件开发、网络...Xerces-C++库为这两种解析方式提供了强大的支持,通过注册事件处理器或操作DOM树,可以灵活地处理XML数据。

    XML解析方式SAX和DOM比较

    为了处理XML文档,有两种主要的解析方式:SAX(Simple API for XML)和DOM(Document Object Model)。这两者在处理XML文档时有着显著的不同。 DOM解析方式是基于树形结构的,它将整个XML文档加载到内存中,形成一...

    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解析.rar

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及文档存储等领域。...理解这两种解析方式的工作原理和优缺点,可以帮助我们更好地利用XML这一强大的数据交换工具。

    xml解析文件的两种方式

    本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...

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

    JDOM支持两种解析模式:SAXBuilder(类似SAX)和Builder(类似DOM)。JDOM简化了XML操作,但相比DOM4J,它的社区支持和更新频率较低。 在选择XML解析方法时,需要根据具体需求来决定。对于小型XML文档,DOM和JDOM...

    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文档加载到内存中,构建一个树...

    dom-sax解析XML文件-java

    本文将详细探讨这两种解析方式,并通过实例对比它们的特点和使用场景。 **DOM解析** DOM解析器将整个XML文件加载到内存中,构建一个树形结构,即DOM树。每个XML元素、属性和文本节点都对应于DOM树中的一个对象。...

    XML.rar_XML SAX_XML java_dom xml_java xml_java解析xml

    总结来说,XML在Java中的解析涉及DOM和SAX两种主要方法,每种都有其适用场景和优缺点。了解它们的工作原理和使用方法,可以帮助我们更高效地处理XML数据。通过实践和比较,我们可以更好地选择和利用这些工具,提高...

Global site tag (gtag.js) - Google Analytics