XML的DOM SAX JDOM DOM4J 四种解析方式对比

时间:2022-01-20 12:20:03

DOM是与平台无关,其他平台也可以使用,而其他三种是java平台的解析方式

SAX是基于事件驱动的解析 重写 onsatrtdocument onenddocument 等方法,在这些方法中处理文档,一个节点一个节点的处理

DOM是一次性解析完一整个XML文件,因此需要将整个XML文件加载到内存中,如果XML文件过大时容易导致OOM

DOM

优点:

    形成了树结构,直观好理解,代码更易编写

    解析过程中树结构保留在内存中,方便修改

缺点:

    XML较大时耗费内存,容易影响解析性能找成内存溢出

SAX

优点:

采用驱动模式,堆内存耗费比较少

适用于只需处理xml中数据的时候

缺点:

不易编码

很难同时访问同一个XML中的不同数据

JDOM

仅使用具体类而不使用接口

API大量使用了Collections接口

DOM4J

JDOM的一个分支合并了超出基本XML文档表示的功能

性能优异,灵活性好,功能强大