基础方法:DOM(平台无关的官方解析方式)、SAX(基于事件驱动的解析方式)
扩展方法:JDOM、DOM4J(在基础的方法上扩展出的,只有在java中能够使用的解析方法)
DOM:
一次性将整个xml文件加载到内存中,形成DOM树
优点:
形成了树结构,直观好理解,代码更容易编写 解析过程中树结构保留在内存中,方便修改
缺点:
当xml文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出
SAX:
逐条语句判断解析
优点:
采用事件驱动模式,对内存消耗比较小 适用于只需要处理xml中数据时
缺点:
不易编码 很难同时访问同一个xml中的多处不同数据
JDOM:
仅使用具体类而不使用接口
API大量使用了Collections类
DOM4J:
JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能
DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API
具有性能优异、灵活性好、功能强大和极端易使用的特点
是一个开放源代码的软件
DOM4J:JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能 DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML API 具有性能优异、灵活性好、功能强大和极端易使用的特点 是一个开放源代码的软件
DOM4J在灵活性和对复杂xml的支持上都要强于DOM
DOM4J的应用范围非常的广,例如在三大框架的Hibernate中是使用DOM4J的方式解析文件的。
DOM是w3c组织提供的一个官方解析方式,在一定程度上是有所应用的。
当XML文件比较大的时候,会发现DOM4J比较好用
1.JUnit:Java提供的单元测试;@Test注解;采用JUnit不需要程序入口main方法
2.性能测试结果:几kB的xml文件;建议使用DOM4J解析