各位英雄: 请问,用java解析XML有DOM和SAX两种方式。那么这两种方式工作机制有何不同,请说出其优劣之处?

来源:百度知道 编辑:UC知道 时间:2024/05/22 01:58:18

dom是读取时会将整个文件放入内存,实现效率差异很大,完全依赖于算法(一个10M的xml就可能让你的浏览器挂掉)。但用起来方便,完全可以将dom看成一颗树。推荐一般情况下使用。

sax简单,速度快,通常一个loop就读完整个文件所有element,自己编写event handler,类似事件驱动。缺点是过于简单了,常常需要自己建立堆栈等等。让人觉得属于“低级语言”。如果需要高效率,低内存就用吧,时间空间复杂度都可以做到线性。可以做到不存xml文件(边读边处理),一个loop完成。