知识储备: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比较复杂。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇