天天看点

SAX DOM JAXP

1.SAX

SAX(Simple Api for XML)是一种XML文件解析的替代方法,相比于DOM,SAX的速度更快,更有效。它逐行扫描文档,一边扫描一边解析,相比于DOM,SAX可以再解析文档的任意时刻停止解析,缺点就是复杂。

2.DOM

DOM(Document Object Model)文档对象模型,DOM解析XML时,会将内容一次性加载到内存中,并构建一个驻留再内存中的树状结构(节点树),如果需要解析的文档内容过大,或者我们仅仅对文档中的一部分内容感兴趣,就会引起性能问题。

3.JAXP

JAXP(Java Api for XML)解析XML文档的一套API,其为DOM和SAX两种解析机制提供了支持。

缺点:使用繁琐,代码量低,可读性差。

解决方案:使用dom4j或者JDOM解析器。

JAXP本身没有提供任何的XML解析支持,所以JAXP依赖与XML解析器,但其本身不与任何XML解析器耦合,因此可轻松在各种XML解析器直接切换而无须修改源代码,本质解释XML解析器与应用程序直接的抽象层。

JAXP使用Xerces为默认解析器。

4.解析器

目前最流行的是Apache组织的Xerces项目。 网址:http://xerces.apache.org/