首页 > 开发 > JAVA > 正文

Java 解析XML 的技术有哪些?

2017-09-07 09:24:34  来源:网友分享

求专业解答!对性能、功能、使用方式及应用场景对比介绍!

解决方案

主要有基于树的DOM和基于事件模型的SAX

前者是将整个文档解析成一颗树型结构,通过API可以在各节点上任意访问,优点就是操作方便,缺点是因为要完整解析文档,所以在解析超大文档时内存占用较大。
后者是一种流式解析,顺序读取并解析文档,在解析到特定元素的时候通过用户定义的解析事件句柄来执行操作,可以看作一种“推送”的形式。与DOM相反,SAX的优点就是内存占用低,因为不需要完全解析文档,速度更快,但是由于是基于事件模型,所以用户在编程时会有一种“被动”的不适感。

可以看看这篇介绍文章: http://wishlife.iteye.com/blog/181865

另外,还有一种是两类的折中叫做StAX:http://www.ibm.com/developerworks/cn/xml/x-tipstx4/