XML的解析方法

Posted 也无言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML的解析方法相关的知识,希望对你有一定的参考价值。

13

6



XML的解析方法


mybatis的学习当中,配置的加载传统的是通过解析用户配置的文件,获取到数据库连接与对象实体映射关系的,书中有描述到DOM\SAX\StAX 几种方案,一方面是夯实基础,一方面是了解三种方法的优缺点,今天就学习一下XML文件的解析

解析方式


1. DOM 解析XML底层接口之一,跨平台,跨语言

2. SAX 解析XML底层接口之一

3. Jdom/dom4J 基于底层API的封装,Java语言,更方便便捷


2

DOM解析


DOM 解析的原理:树形结构,依赖内存加载文件,树在内存中持久化存储,映射成Document对象,解析DOM树,识别父节点、当前节点、兄弟节点和子节点,在节点间游历,就能够获取到整棵树的数据。操作简易,消耗大,适用于小文档、需要频繁修改文档或者文档逻辑结构复杂的场景。


3

SAX解析


SAX解析原理:基于事件的模型,不需要将全部文档加载入内存,只需要用户读取的时候加载相应的内容片段即可,响应快,消耗小,适用于大型文档读取、文档逻辑结构不太复杂的场景


4

JDOM/Dom4J


1. JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快

2. Dom4J,是JDOM 的一种智能分支,合并了许多超出基本 XML 文档表示的功能


5

StAX解析


它是与SAX类似的流式模式来解析XML文件,但是SAX采用的“推模式”来解析,即事件由计解析器产生,应用程序调用通过回调的方式获取结果,StAX采用“拉模式”,解析器控制解析进程,应用程序控制解析进程的推进,可以简化应用处理XML文档的代码,并决定何时停止解析,而且可以同时处理多个XML文档






  1. 基于内存:基于树形结构存储,大文件占用内存,能够维系树节点之间关联,遍历&增删&切换节点都比较遍历,适用于树形结构性对象,节点内容修改较多,节点间关联逻辑复杂的场景

  2. 基于流:基于事件读取,内存友好,选取性读取,无需内容全部加载,大文件能够轻松快速获取节点内容,功能多样,编写逻辑较复杂

END

扫描二维码

github :  CzyerChen

欢迎Star 



以上是关于XML的解析方法的主要内容,如果未能解决你的问题,请参考以下文章

java解析xml的三种方法

XML解析方法详解

iOS XML 系统自带的解析方法

在java中解析xml有哪几种方法

xml解析----java中4中xml解析方法(转载)

Dom方法,解析XML文件