XML--DOM解析和SAX解析的特点和差别
1、 DOM解析 – 文档对象模型解析 .是W3C指定的一套规范标准,它不是专门为Java或其他语言而制定的 核心是按树形结构处理数据,要先将所有文件读取到内存中形成DOM树,DOM解析器读入xml文件并在内存中建立一个结构一模一样的“树”,这树的节点和xml各标记对应,通过操纵此“树”来处理xml中的文件。 优点: 1.DOM同时支持读和写 2.可以对树进行遍历,可直接访问节点,访问效率高 3.可以随时访问树中的节点,并能进行增删查改 缺点: xml文件很大时,建立的“树”也会大,所以会大量占用内存。 解析速度慢,只适合解析小型文档(要在内存中生成节点树,而生成树是比较费时的) 耗费系统的内存资源 2、SAX解析 核心是事件处理机制,解析器根本不创建任何对象,它只是将事件传递给您的应用程序 一次性的处理方式 优点: 1.边读边解析,以流的方式读XML,应用于大型XML文档 2.解析速度快 3. 不必解析整个文档;它可以在某个条件得到满足时停止解析。 缺点: 只支持读,不能修改, 只能顺序解析, 访问效率低
区别: 1、DOM是基于内存的,不管文件有多大,都会将文件的内容事先装载到内存中,因 而需要占很大的内存空间。 SAX基于事件,当事件被触发时,从头开始解析文件,无需事先装载,当获得需要的数据,即可停止,所以占用内存空间很少 2. DOM 可以读取XML,也可以向XML文档中插入数据 SAX 只能对XML 进行读取,不能插入数据(sax的缺点) 3. DOM 可以访问指定的元素进行随机访问 SAX 只能从头开始执行,顺序解析,只进行一次。
分享到:
相关推荐
XML解析四种解析方式 DOM SAX JDOM DOM4J
java学习笔记——使用DOM解析XML和使用SAX解析XML
项目下包含dom4j的包 是里用dom4j的sax解析方式 sax解析打文件比dom速度快,该项目为测试项目
使用java语言对XML文档进行解析的示例,包括DOM,SAX方式,并包括使用jdom和jom4j框架进行XML解析或生成XML文档
一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例
XML文件解析器 支持dom解析和sax模式解析,c语言实现
JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax JDK自带xml解析器dom+sax
JavaWeb 05 XML基础(Dom解析和Sax解析)
通过简单地代码实践,记录XML文件的两种解析方式
dom,dom4j,sax解析xml 文件经典实例,内置详细注解
DOM 解析 基本操作 SAX 解析 基本操作 上学期XML的一个小作业,都是一些基本操作,刚学XML的同学们拿来玩玩
解析XML的dom、sax和dom4j的jar包。解析XML的dom、sax和dom4j的jar包。
提供了android中使用dom、pull、sax三种方式进行xml解析,xml文件放置在assets文件夹下,view绑定使用butterknife
java 解析xml 方法 sax jdom dom stAX
用C#编写的XML解析器,DOM和SAX都有实现
java中dom解析和sax解析xml文件对比示例!
包中包含art.xml以及解析这个文件的DomDemo.java和SaxDemo.java
dom4j下sax解析xml文件 sax解析大文件比dom更快 更节省内存,xml测试文件在src下,可直接运行应用jar包在lib下,无需导入
利用JSP直接读写XML文件,分别用DOM解析器和SAX解析器加以实现,非常适合初学者入门,作为一个了解jsp与XML的台阶
xml的两种解析方式sax解析和dom解析的源代码