1.DOM
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。 即最通用,最原生的xml解析方式,由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。
优点:解析时,会将整个xml文档载入内存中,这一特点,即可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,另外由于DOM方式是W3C标准,后续的各种方式基本多少会借鉴参考与它,所以它使用起来也要比较简单。
缺点:由于解析时,会装在整个xml文件,假使xml结构复杂且巨大,难免对性能上,有一定的影响。(缺点本身又是优点,是不是很矛盾呢,>…<)
2.SAX
SAX解析器采用了基于事件的模型,所以它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到,更因它的此特性,开发人员可以选择性的处理自己需要的数据,这一扩展性一定程度上加大了使用SAX解析器的难度,而且很难同时访问同一个文档中的多处不同数据。
优点:分析能够立即开始,而不需要像DOM一样,装载整个文档。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点,并且可以随时停止解析,及时返还占用的系统资源。在速度效率和资源占用这几点上,完胜于DOM,这也为它博得了更多的开发人员的亲睐。
缺点:很难同时访问文档中的各处不同的数据,因为它不会装载整个文档,相对的,修改方面也不算方便,且难度上比DOM稍高。
3.JDOM
java官方指定的文档模型,并最终用于java标准扩展。它简化与XML的交互并且比使用DOM实现更快。大量使用具体类而不是提供接口,大大简化了API,且更贴近java开发者的使用。
JDOM还包括对程序行为的相当广泛检查以防止用户做任何在XML中无意义的事。然而,它仍需要您充分理解XML以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习DOM或JDOM接口都更有意义的工作。 且他还是apache许可证下的可发布的开源项目
优点:使用上更简化,性能比DOM更加好,官方文档声明,只需花20%的精力,以解决80%的实际问题。
缺点:扩展性较差
4.DOM4J
集成的XPath支持、XML
Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API和标准DOM接口具有并行访问功能。复杂的API使他在功能性和扩展上大大超出了JDOM,开发中其性能优异、功能强大和极端易用使用,同时它也是一个开放源代码的软件,让它在各种解析方式中,占领了最多的开发者的拥护。
优点:以上以阐明
缺点:在拥护者心中(没有,(*^__^*) )
具体解析方式,见下篇
分享到:
相关推荐
### Java中四种XML解析技术详解 #### 概述 在Java开发中,XML(Extensible Markup Language)是一种广泛使用的数据交换...以上就是关于Java中四种主流XML解析技术的详细介绍及其性能对比分析,希望对大家有所帮助。
### Java中四种操作XML方式的比较 在Java中,处理XML文档有多种方式,每种方式都有其独特的特性和应用场景。下面将详细对比DOM、SAX、JDOM和DOM4J四种主流的XML处理技术。 #### 1\. DOM (Document Object Model) ...
本文主要探讨了2022年Java中四种主流的XML解析技术,并通过一个简单的遍历XML节点的测试来评估它们的性能。测试环境为AMD毒龙1.4G OC 1.5G处理器,256M DDR333内存,Windows 2000 Server SP4操作系统,使用Sun JDK ...
DOM 是一种基于树形结构的XML解析方法,它将整个XML文档加载到内存中,形成一棵由节点组成的树。在Java中,DOM解析器通常通过`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`类来...
本文将着重于四种主流的XML解析方式:DOM、SAX、StAX以及JDOM,并通过实际代码示例对它们进行对比分析,帮助读者更好地理解这些技术的特点和应用场景。 #### DOM (Document Object Model) DOM是一种基于树结构的XML...
本文将深入探讨Java平台下解析XML的四种主流方法:DOM、SAX、DOM4J和JDOM。 1. **DOM(Document Object Model)解析XML** DOM是一种树形结构,它将整个XML文档加载到内存中,形成一个完整的对象模型。这种解析方式...
本项目涵盖了三种主流的Java XML解析方法:SAX、DOM以及DOM4J,并提供了相应的工程源代码。 1. **SAX解析**: SAX(Simple API for XML)是一种事件驱动的解析方式,它逐行读取XML文档,遇到元素、属性、文本等时...
本文将深入探讨XML数据在前后台解析的过程中,重点介绍两种主流的Java XML解析库——JDOM和DOM4J,并提供实际运行的程序示例。同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的...
本篇文章将详细介绍在Java中如何使用JDOM、DOM4J和SAX三种主流方式解析XML文件。 一、JDOM解析 JDOM是一个专门针对Java设计的XML API,它提供了方便的API来处理XML文档。使用JDOM解析XML的基本步骤如下: 1. 引入...
- **xerces简介**:Apache xerces是目前最常用的XML解析器之一,它同时支持DOM和SAX两种解析标准,是许多Java项目中首选的XML解析库。 - **应用场景**:在Java环境中,xerces常被用作DOM和SAX的具体实现,帮助...
XML解析器的选择取决于具体需求,如内存限制、处理速度、复杂查询等。DOM适用于需要频繁查询和修改文档的场景,SAX适用于大文件或内存有限的情况,DOM4J和JDOM则提供了更高级的功能和更好的性能。了解和掌握这些解析...
Java XML 解析主要涉及到两种主流方法:DOM(Document Object Model)和SAX(Simple API for XML)。DOM 是一种将整个 XML 文档加载到内存中,形成一棵树形结构的解析方式,适合小型或中等大小的 XML 文件。而SAX 是...
而Java作为一种主流的编程语言,在处理XML方面有着丰富的工具和技术支持。Java绑定XML架构,即通过Java代码与XML文档之间的映射来简化XML操作的过程,是实现异构系统间数据共享的关键技术之一。 #### 二、Java绑定...
Java 处理XML有三种主流方法,分别是DOM(Document Object Model)、SAX(Simple API for XML)和JDOM。每种方法都有其独特的特性和适用场景,以下将详细介绍这三种方法。 1. DOM解析: DOM解析是将整个XML文档加载...
在介绍具体的解析技术之前,首先需要了解几种主流的XML编程API模型,这些模型构成了XML解析的基础框架。 ##### 2.1 DOM (Document Object Model) DOM是一种由W3C推荐的用于处理XML文档的标准API。它提供了一种将...