XML的三种解析方式,在此对它们优缺点简单比较
1、DOM
优点:是 W3C 处理 XML 的标准,并且有很多语言都支持这种解析方式,实际操作十分简单,对于初学者来说很容易上手。将XML整个作为类似树结构的方式读入内存进行操作和解析,这种方式能够对XML数据的内容和结构进行修改。
缺点:导入到内存中进行解析的方式很容易造成内存泄露以及程序奔溃的风险。而且,它只适应与小型XML文件的解析,还需要修改XML树结构内容生成自己的对象模型。
2、SAX
优点:能够解决在XML解析上占用大量资源的难题,通过类似于流解析的技术,通读整个XML文档,通过处理器来进行XML的数据解析。所以它对资源的节省显而易见。另外支持XPath使得开发工作更加灵活,处理起来也是得心应手。适用于大型的XML文件解析。
缺点:十分复杂的API接口令人望而生畏,流解析方法,不支持对XML树结构内容的修改,可能在实际操作时出现麻烦。
3、Digester
这种解析方法算得上是上面两种方法衍生出来的第三种解析方式,它的目的就是将XML转换为Java Bean的特殊需求,所以呢,它并没有明显的优缺点,只是对XML解析方法做一个补充,它为我们将XML转化为Java Bean提供了可靠的保障。它适用于将XML 文档直接转换为 JavaBean 需求的方法。