DOM、SAX、JDOM、DOM4J四种XML解析方法PK
基础方法(指不需要导入jar包,java自身提供的解析方式):DOM、SAX
DOM:是一种平台无关的官方解析方式
--优点:
(1)形成了树结构,直观好理解,代码更易编写
(2)解析过程中树结构保留在内存中,方便修改
--缺点:
当xml文件较大时,对内存耗费比较大,容易影响解析性能并造成内存溢出
SAX:基于事件驱动的解析方式
--优点:
(1)采用事件驱动模式,对内存耗费比较小
(2)适用于只需要处理xml中数据
--缺点:
(1)不易编码
(2)很难同时访问同一个xml中的多处不同数据
扩展方法(在基础方法上扩展出的,只有java中能够使用的解析方法):JDOM、DOM4J
JDOM:
仅使用具体类而不使用接口
API大量使用了Collections类
DOM4J:
是JDOM的一种智能分支,它合并了许多超出基本xml文档表示的功能
使用接口和抽象基本类方法,是一个优秀的java xml API
具有性能优异、灵活性好、功能强大和极端易用的特点
是一个开放源代码的软件
性能测试:(少量数据时)
总结:具体使用哪种解析方式视具体情况而定,对于复杂文件,推荐使用DOM4J。
Jumping from failure to failure with undiminished enthusiasm is the big secret to success.