SAX与DOM都是底层API,更像是一种标准,不需要额外引入jar包,用java标准的api就可以作解析了,步骤非常麻烦。
DOM:是一种平台无关的官方解析方式
--优点:
(1)形成了树结构,直观好理解,代码更易编写
(2)解析过程中整个树结构保留在内存中,方便修改
--缺点:
当xml文件较大时,对内存耗费比较大,容易影响解析性能并造成内存溢出
SAX:基于事件驱动的解析方式
--优点:
(1)对内存耗费比较小,边读边解析,适合应用于大型XML文档
(2)适用于只需要处理xml中数据
--缺点:
(1)不易编码
(2)访问效率低,很难同时访问同一个xml中的多处不同数据
而jdom和dom4j是面向Java语言的,是基于底层api的更高级封装,都包含了dom和sax的解析方式。
参考文章:
http://www.cnblogs.com/chongerlishan/p/5945860.html
http://634082093-qq-com.iteye.com/blog/1744130