知识储备:XML数据解析

前端之家收集整理的这篇文章主要介绍了知识储备: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比较复杂。

原文链接:https://www.f2er.com/xml/296455.html

猜你在找的XML相关文章