java中4种操作(DOM,SAX,JDOM,DOM4J)xml方式详解与比较
原文地址:http://wishlife.iteye.com/blog/181865
DOM(document object model)和SAX(Simple API for XML)是java的一个标准,也就说你不用去下载一些其他的类库,用java标准的API就可以做解析了,但是这两种API都是非常的底层,就是说用起来非常的麻烦
所以说在这两种API的基础之上又有人封装了一些比较好用的接口,二次开发的这种类库,这种类库就是Jdom和Dom4j
1) DOM:DOM这种解析方式就是把整个XML文件作为一个对象,不管这个XML文件有多大,我都可以把整个XML文件放到内存中作为整体的一个对象,把这个XML文档当成一个对象
2) SAX: SAX处理的优点非常类似于流媒体的优点。什么是流媒体呢? 我们假设一个XML文档特别大,现在如果我们想整个文件放到内存中当成一个对象来处理,这样对内存的压力太大了,所以这个时候我就可以采取另外一种方式:读一点,我就解析一点,读一点,我就解析一点,那么这种方式就是流媒体方式。
3)dom处理的一般是小文件,Sax可以处理较大的文件(当然如果xml文件比较小,那么该文件也会被一次性加载到内存当中去)
4) dom4j的性能最好,所以学的时候首先学dom4j
5) dom4j使用xpath的方式解析xml:所谓的xpath:就是在xml中找到指定节点的路径path,可以直接拿到想要的节点