文档章节

解析XML文件的几种方式和区别

一杯82年的JAVA
 一杯82年的JAVA
发布于 2016/04/19 10:47
字数 500
阅读 42
收藏 1

Dom解析:

        在内存中创建一个DOM树,该结构通常需要加载整个文档然后才能做工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的,树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改能随机访问文件内容,也可以修改原文件内容.

SAX解析 :

        SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点线性解析,不能随机访问,也无法修改原文件

JDOM解析:

        JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快.JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。

 DOM4j:

        解析 DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的Collections类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。


© 著作权归作者所有

一杯82年的JAVA
粉丝 8
博文 76
码字总数 36575
作品 0
杭州
程序员
私信 提问
Java每天5道面试题,跟我走,offer有!(九)

76、XML技术的作用? 77.XML文档约束有哪几种?有什么区别? 78.XML的解析方式有哪几种?有什么区别? 79.Http请求的Get和Post的区别? 80.ServletConfig对象和ServletContext对象有什么区别?...

Java干货分享
2018/11/25
19
0
Java每天5道面试题,跟我走,offer有!(八)

76、XML技术的作用? 77.XML文档约束有哪几种?有什么区别? 78.XML的解析方式有哪几种?有什么区别? 79.Http请求的Get和Post的区别? 80.ServletConfig对象和ServletContext对象有什么区别?...

Java干货分享
2018/11/23
28
0
XML PULL SAX到底有什么区别?

之前虽然一直知道存在常用的几种XML解析方式,也知道SAX的意思,但是没有深入追究过PULL跟SAX的区别。PULL跟SAX虽然都是基于事件的,但是两者最重要的区别应该是: SAX可以认为是“PUSH“的,...

Kingguary
2011/12/22
402
0
Android面经总结

Basic: 1. 基本的UI控件和布局文件 2. UI配套的Adapter的使用 3. Activity, Intent,Service,broadCast Receiver他们的生命周期管理熟悉一下 4. 操作手机上的数据库SQLite应用 Advanced_1(这是...

晨曦之光
2012/03/09
221
0
Android面经总结

Basic: 1. 基本的UI控件和布局文件 2. UI配套的Adapter的使用 3. Activity, Intent,Service,broadCast Receiver他们的生命周期管理熟悉一下 4. 操作手机上的数据库SQLite应用 Advanced_1(这是...

晨曦之光
2012/03/07
488
0

没有更多内容

加载失败,请刷新页面

加载更多

Hibernate 5 Maven 仓库的 Artifacts

Hibernate artifacts 官方发布的仓库在 JBoss Maven repository 中。Hibernate 发布的 artifacts 也会同时同步到 Maven Central 仓库中,这是一个自动同步进程(可能会有一些延迟)。 Hibern...

honeymoose
30分钟前
3
0
如何学习uni-app?

uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。 开发者通过编写 Vue.js 代码,uni-app 将其编译到iOS、Android、微信小程序、H5等多个平台,保证其正确运行并达到优秀体验。 <templ...

达叔小生
34分钟前
4
0
OSChina 周一乱弹 —— 后来马云就一心想挣钱了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑:《空帆船》- 朴树 《空帆船》- 朴树 手机党少年们想听歌,请使劲儿戳(这里) @webw :第二次被锁在电梯里了 上次你忘带电梯卡, ...

小小编辑
50分钟前
362
10
关于does not give a valid preprocessing token

#define VFUNC(self) ((##self##)->_vptr) 这样在gcc下会编译失败, VC不会 报pasting ) does not give a valid preprocessing token 据说是因为版本问题 解法:去掉## define VFUNC(self) (......

shzwork
51分钟前
4
0
CSS盒子模型

一、什么叫框模型 页面元素皆为框(盒子) 定义了元素框处理元素内容,内边距,外边距以及边框的计算方式 二、外边距 围绕在元素边框外的空白距离(元素与元素之间的距离) 语法:margin,定...

wytao1995
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部