XML文件解析

常见的XML解析方式

1.DOM解析

DOM是基于树形结构的XML解析方式。他会将整个XML文档读入内存并构建一个DOM树,基于这棵树形结构对各个节点(Node)进行操作。XML文档中的每个成分都是一个节点:整个文档是一个文档节点,每个XML标签对应一个元素节点,包含在XML标签中的文本是文本节点,每一个XML属性是一个属性节点,注释属于注释节点。

DOM解析的优缺点

DOM解析方式最主要的好处是易于编程,可以根据需要在树形结构的各个节点之间导航。可以很容易的获得自己想要的数据,也可以很容易的添加和修改树中的元素。但是因为要将整个文档加载到内存中,并且构建树形结构,当XML文档的数据量较大时,会造成较大的资源消耗。

2.SAX解析

SAX是基于事件模型的XML解析方式,他并不需要将整个XML文档加载到内存中,而只需要将XML文档的一部分加载到内存中,即可开始解析,在处理过程中并不会在内存中记录XML的数据,所以占用的资源比较少。当程序处理过程中满足条件时,也可以立即停止解析过程。

SAX解析优缺点

由于可以不用一次性将整个文件加载至内存,所以它相对消耗的资源要小一些,对于很多的移动设备来说这点还是挺有优势的。但是由于是流式处理,所以处理过程只能从XML文档开始向后单向进行,无法自由导航。同时也不提供写XML文档的功能。

3.StAX解析

JAXP是JDK提供的一套用于解析XML的API,从JDK1.6开始,JAXP开始支持另一种XML解析方式,也就是StAX解析方式。
和SAX解析很像,但是是相反的,由程序来调用解析器推进解析进程。StAX实际上包括两套处理XML文档的API,分别提供了不同程度的抽象,一种是基于指针的API,这是一种底层的API,效率高,但是抽象程度低。另一种API是基于迭代器的API,它允许应用程序把XML文档作为一系列事件对象来处理,效率较略低但抽象程度高。

StAX解析优缺点

有针对简单和性能的两种解析模式;由程序控制解析器,易于支持多输入;强大的过滤功能有利于数据检索。但是它与SAX解析一样,无法自由导航。同时也不提供写XML文档的功能。

你可能感兴趣的:(MyBatis)