XML解析总结

这几天学习了xml,最后做一下总结:

XML的三种解析方式:1、DOM解析;2、SAX解析;3、DOM4J解析。

推荐使用dom4j方式来解析xml。 

一、DOM解析

DOM解析会将文档全部加载到内存当中,在内存中生成一个树文档对象,因为每一个xml文档都有一个根元素,加载到内存中后,该根元素就是树文档的根,从而可以获取该根元素,进行解析文档。

优点:    

  • 因为整个文档都已经在内存当中,所以操作起来灵活方便
  • 可以随机解析
  • 可以修改文件
  • 可以创建xml文件

 缺点

  • 同样因为在内存当中,所以不适合解析大文件,会过于消耗内存资源
  • 适合解析小文件,对内存要求高

下面是一个dom解析示例:https://blog.csdn.net/Attention_0/article/details/100609187

、SAX解析

它是基于事件的解析,遇到开始标签、结束标签、文本内容,会触发事件来使用继承了DefaultHandler类,实现了其方法,来进行解析文档,它逐行扫描文档,一边扫描一边解析,因此也就一步一步将文档加载到内存,解析完的部分就不再内存中了。

而且相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,对于SAX来说就是操作复杂。

优点

  • 适合解析大文件,对内存要求不高
  • 轻量级的解析数据方式,效率更高  

缺点: 

  • 不能随机解析(只能从头开始解析,一点点往后进行)
  • 不能修改XML文件,只能进行查询
  • 代码量大,复杂
  • 空文本、换行也会触发事件解析

下面是一个sax解析示例:https://blog.csdn.net/Attention_0/article/details/100607067 

三、DOM4J解析 

dom4j 是一个Java的XML API,是jdom的升级品,用来读写XML文件的。与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术。

dom4j最主要的就是获取到根元素,使用迭代器遍历解析出xml文档。 

优点:

dom4j解析XML的基础问题,包括建立XML文档,添加、修改、删除节点,以及格式化(美化)输出和中文问题。

下面是一个dom4j解析xml的示例:https://blog.csdn.net/Attention_0/article/details/100610156

下面是一个dom4j生成xml的示例:https://blog.csdn.net/Attention_0/article/details/100610387

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值