XML的解析方法
Posted 也无言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML的解析方法相关的知识,希望对你有一定的参考价值。
13
6
XML的解析方法
mybatis的学习当中,配置的加载传统的是通过解析用户配置的文件,获取到数据库连接与对象实体映射关系的,书中有描述到DOM\SAX\StAX 几种方案,一方面是夯实基础,一方面是了解三种方法的优缺点,今天就学习一下XML文件的解析
1
解析方式
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文档
基于内存:基于树形结构存储,大文件占用内存,能够维系树节点之间关联,遍历&增删&切换节点都比较遍历,适用于树形结构性对象,节点内容修改较多,节点间关联逻辑复杂的场景
基于流:基于事件读取,内存友好,选取性读取,无需内容全部加载,大文件能够轻松快速获取节点内容,功能多样,编写逻辑较复杂
END
扫描二维码
github : CzyerChen
欢迎Star
以上是关于XML的解析方法的主要内容,如果未能解决你的问题,请参考以下文章