DOM与SAX读取XML方式的不同
2015-04-23 11:10
141 查看
操作XML有两种主要方法:DOM和SAX。DOM会把整个XML读入内存,解析为树,因此占用内存大,解析慢,优点是可以任意遍历树的节点。SAX是流模式,边读边解析,占用内存小,解析快,缺点是我们需要自己处理事件。
1. DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才获取相应的XML的部分数据,从而不管XML文件有多大,都只占用了少量的内存空间。
2. DOM可以读取XML也可以向XML文件中插入数据,而SAX却只能对XML进行读取,而不能在文件中插入数据。这也是SAX的一个缺点。
3. SAX的另一个缺点:DOM我们可以指定要访问的元素进行随机访问,而SAX则不行。SAX是从文档开始执行遍历的。并且只能遍历一次。也就是说我们不能随机的访问XML文件,只能从头到尾的将XML文件遍历一次(当然也可以中间截断遍历)。
1. DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才获取相应的XML的部分数据,从而不管XML文件有多大,都只占用了少量的内存空间。
2. DOM可以读取XML也可以向XML文件中插入数据,而SAX却只能对XML进行读取,而不能在文件中插入数据。这也是SAX的一个缺点。
3. SAX的另一个缺点:DOM我们可以指定要访问的元素进行随机访问,而SAX则不行。SAX是从文档开始执行遍历的。并且只能遍历一次。也就是说我们不能随机的访问XML文件,只能从头到尾的将XML文件遍历一次(当然也可以中间截断遍历)。
相关文章推荐
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较
- android解析XML总结(SAX、Pull、Dom三种方式)
- java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解
- iOS ——XML数据结构及其两种解析数据的方式SAX 、DOM
- 详解android解析Xml的三种方式——DOM、SAX以及XMLpull
- Javacore学习笔记-XML读取(DOM, SAX, StAx与JAXB)
- Python通过DOM和SAX方式解析XML的应用实例分享
- java中四种操作(DOM、SAX、JDOM、DOM4J)xml方式详解与比较
- java中操作xml的两种方式DOM和SAX比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- android解析XML总结(SAX、Pull、Dom三种方式)
- Qt 处理XML 文档的三种方式简介——DOM、SAX、流处理
- Android解析XML三种方式(PULL、SAX、DOM)
- Java生成xml——DOM、SAX、JDOM和DOM4J四种方式的汇总与比较
- 四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较
- android解析XML总结(SAX、Pull、Dom三种方式)
- [Android]四种方式解析字符串----JSON、SAX、DOM、XML
- android解析XML总结(SAX、Pull、Dom三种方式)
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较
- XML以及XML解析方式[DOM+SAX]