加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

知识储备:XML数据解析

发布时间:2020-12-16 06:14:11 所属栏目:百科 来源:网络整理
导读:XML总体概括 可扩展的标记语言(Extensible markup language),它是一种通用的数据交换格式,与平台、系统、语言等无关,可以很好的用于数据集成和交互。“可扩展”表示可自定义的标记。 常见的XML数据解析方式有三种,一种是SAX(Simple API for XML),它是

XML总体概括

  1. 可扩展的标记语言(Extensible markup language),它是一种通用的数据交换格式,与平台、系统、语言等无关,可以很好的用于数据集成和交互。“可扩展”表示可自定义的标记。
  2. 常见的XML数据解析方式有三种,一种是SAX(Simple API for XML),它是一种基于事件流的解析;另一种是DOM(Document Object Model)解析,这是一种基于XML文档树结构的解析。还有一种是DOM4J(for java DOM),一种很强大的java XML解析API。

DOM解析

  • 实现原理:DOM解析器会把整个XML文档转化成DOM树放在内存中,通过对内存中节点树的操作来实现XML数据的解析。
  • 简单的解析步骤:
    1) 创建DOM解析器对象(DocumentBuilder)
    2) 通过DOM解析器对象,将XML数据转化成节点树(DOM树)对象放入内存中
    3) 通过对节点树的遍历实现对XML数据的解析

  • DOM解析的优缺点
    1) 优点

  • 将XML数据对应的节点树加载到内存中,这样就能实现对XML数据的随机访问了
  • 对于XML文档的增、删、改比较方便
    2) 缺点
  • DOM解析是一次性将XML数据解析完并会把整个节点树加载到内存中,会占用比较大的内存空间
  • 另外,对于复杂结构的XML解析比较耗时,解析效率低

SAX解析

  1. 实现原理:SAX是基于事件驱动来解析XML数据的。SAX在解析XML文档时,会触发一系列的事件,并且调用相应的事件处理函数,我们要做的事就是实现这些事件处理函数相应的操作
  2. 实现步骤
    1) 获得SAX解析器对象
    2) 对XML文档顺序扫描,扫描到文档的开始与结束、元素的开始与结束这些位置的时候,会触发相应的事件,执行相应的事件处理函数。
  3. 优缺点
    1) 优点:
    a) 事先调用整个XML文档,占用的内存资源少
    b) 解析方式是边读边解析,适用于解析复杂结构的XML数据
    2) 缺点:
    a) XML数据的解析方式是顺序的,不支持随机访问XML文档
    b) 不适用与修改XML文档

DOM4J解析

DOM4J呢是一个非常优秀的java解析XML文档的API,它解析XML文档的性能好、功能强大而且使用简单。DOM4J开源,而且很多java开源项目都会使用DOM4J来解析xml配置文件的信息。譬如水sun公司的JAXM,还有Hibernate。缺点就是API比较复杂。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读