XML文件解析

一. SAX 解析
          解析方式是事件驱动机制 !
          SAX 解析器 , 逐行读取 XML 文件解析 , 每当解析到一个标签的开始 / 结束 / 内容 / 属性时 ,
          发事件 . 我们可以编写程序在这些事件发生时 , 进行相应的处理 .
      优点 :
           1.分析能够立即开始,而不是等待所有的数据被处理
           2.逐行加载 , 节省内存 . 有助于解析大于系统内存的文档
           3.有时不必解析整个文档 , 它可以在某个条件得到满足时停止解析 .
      缺点 :
          1. 单向解析,无法定位文档层次,无法同时访问同一文档的不同部分数据 ( 因为逐
              行解析 , 当解析第 n 行是 , n-1 行已经被释放了 , 无法在进行操作了 ).
          2. 无法得知事件发生时元素的层次 , 只能自己维护节点的父 / 子关系 .
          3. 只读解析方式 , 无法修改 XML 文档的内容 .
二. DOM 解析
          是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准,分析该结构通常需要加载整个
          文档和内存中建立文档树模型 . 程序员可以通过操作文档树 , 来完成数据的获取 修改 删除等 .
      优点 :
           1.文档在内存中加载 , 允许对数据和结构做出更改 .
           2.访问是双向的,可以在任何时候在树中双向解析数据.
      缺点 :
              文档全部加载在内存中 , 消耗资源大 . (由于这个缺点可以忽略不计,所以一般使用这个)
3. JDOM 解析(基于DOM解析)
            目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是  
            第一 Java 特定模型, JDOM 一直得到大力推广和促进。
            JDOM 文档声明其目的是 使用 20% (或更少)的精力解决 80% (或更多) Java/XML 问题
           (根据学习曲线假定为 20%
      优点 :
            1.使用具体类而不是接口,简化了 DOM API
            2.大量使用了 Java 集合类,方便了 Java 开发人员。
      缺点 :
            1.没有较好的灵活性。
            2.性能不是那么优异。
4. DOM4J 解析 (基于DOM解析)
             它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成 XPath 支持、 XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项, DOM4J 是一个非常优秀的 Java XML API ,具有性能优异、功能强大和极端易用使用的特点,同时它也是一 个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML 目前许多开源项目中大量采用 DOM4J , 例如 :Hibernate
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值