Dom解析:性能
在内存中建立一个DOM树,该结构一般须要加载整个文档而后才能作工做。因为它是基于信息层次的,于是DOM被认为是基于树或基于对象的,树在内存中是持久的,所以能够修改它以便应用程序能对数据和结构做出更改能随机访问文件内容,也能够修改原文件内容.编码
SAX解析 :对象
SAX处理的优势很是相似于流媒体的优势。分析可以当即开始,而不是等待全部的数据被处理。SAX解析器采用了基于事件的模型,它在解析XML文档的时候能够触发一系列的事件,当发现给定的tag的时候,它能够激活一个回调方法,告诉该方法制定的标签已经找到。并且,因为应用程序只是在读取数据时检查数据,所以不须要将数据存储在内存中。这对于大型文档来讲是个巨大的优势线性解析,不能随机访问,也没法修改原文件接口
JDOM解析:事件
JDOM的目的是成为Java特定文档模型,它简化与XML的交互而且比使用DOM实现更快.JDOM仅使用具体类而不使用接口。这在某些方面简化了API,可是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。内存
DOM4j:开发
解析 DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的Collections类,可是在许多状况下,它还提供一些替代方法以容许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,可是它提供了比JDOM大得多的灵活性。文档