文档章节

XML之XML解析方法对比总结

monster_nian
 monster_nian
发布于 2016/01/26 14:26
字数 570
阅读 47
收藏 5

1.DOM

DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都存于内存中,并且遍历简单,支持XPath,增强了易用性。
DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、processing- instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。

 2. SAX

为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的

开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少

3.JDOM

为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能

简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用),DOM

4.DOM4J

DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同

时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML


前面写了4中关于java解析XML的方法,我们看到,利用以树状结构解析xml的居多,可能便于我们对xml做相应的操作,但是这些方法普遍就是比较消耗资源,对内存有一定的要求!

© 著作权归作者所有

共有 人打赏支持
monster_nian
粉丝 1
博文 12
码字总数 8312
作品 0
兰州
网络数据交换格式

1.Json的讲解 1.1json是什么? •JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。 JSON采用兼容性很高...

android-key
2016/10/08
14
0
Java微信扫码支付

前言:让我用Java写个微信扫码支付,身为小白,网上搜了好多文章,终于找到一个看得明白的,链接。表示人家讲的够详细了,现在自己要是实现一个,我觉得吧,可能入手比较乱。其实后来发现,代...

ioufev
2016/11/07
627
0
使用JS读取XML文件的方法

由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析xml的方法,下面通过本文给大家详细介绍下使用JS读取XML文件的方法,一起看看吧 由于项目上需要解析xml,于是各种...

码农般的学良
2016/11/26
154
0
android xml解析的三种方式

在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式。最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析...

球球
2016/09/24
5
0
Json 与 XmL对比

JSON与XML的区别比较 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用...

阿联酋挖石油
2015/09/15
165
0

没有更多内容

加载失败,请刷新页面

加载更多

Docker学习笔记

Docker Resources All In One Docker 学习资源整理

OSC_fly
6分钟前
3
0
Android 安全逆向:篡改你的位置信息

篡改你的位置信息

蔡小鹏
7分钟前
1
0
SpringMVC 全局异常处理,返回json

1.在spring-mvc.xml中增加配置: 比如我的freemarker视图定义的是:/WEB-INF/template 我的页面则放在template下的common目录下,所以下方定义的是common/500,文件扩展名根据视图定义可以忽...

Gmupload
8分钟前
1
0
一篇文章搞定前端面试

本文旨在用最通俗的语言讲述最枯燥的基本知识 面试过前端的老铁都知道,对于前端,面试官喜欢一开始先问些HTML5新增元素啊特性啊,或者是js闭包啊原型啊,或者是css垂直水平居中怎么实现啊之...

Jack088
14分钟前
3
0
ajax 轮询请求后台服务器

<script type="text/javascript"> // var i=0; //声明轮询次数变量 $(document).ready(function(){ c = window.setInterval("getResult()",10000); //间隔多少秒去触发ajax }); function get......

15834278076
17分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部