`

XML--DOM解析和SAX解析的特点

阅读更多
XML--DOM解析和SAX解析的特点和差别
1、 DOM解析 – 文档对象模型解析 .是W3C指定的一套规范标准,它不是专门为Java或其他语言而制定的 核心是按树形结构处理数据,要先将所有文件读取到内存中形成DOM树,DOM解析器读入xml文件并在内存中建立一个结构一模一样的“树”,这树的节点和xml各标记对应,通过操纵此“树”来处理xml中的文件。 优点: 1.DOM同时支持读和写 2.可以对树进行遍历,可直接访问节点,访问效率高 3.可以随时访问树中的节点,并能进行增删查改 缺点: xml文件很大时,建立的“树”也会大,所以会大量占用内存。 解析速度慢,只适合解析小型文档(要在内存中生成节点树,而生成树是比较费时的) 耗费系统的内存资源 2、SAX解析 核心是事件处理机制,解析器根本不创建任何对象,它只是将事件传递给您的应用程序 一次性的处理方式 优点: 1.边读边解析,以流的方式读XML,应用于大型XML文档 2.解析速度快 3. 不必解析整个文档;它可以在某个条件得到满足时停止解析。 缺点: 只支持读,不能修改, 只能顺序解析, 访问效率低 区别: 1、DOM是基于内存的,不管文件有多大,都会将文件的内容事先装载到内存中,因 而需要占很大的内存空间。 SAX基于事件,当事件被触发时,从头开始解析文件,无需事先装载,当获得需要的数据,即可停止,所以占用内存空间很少 2. DOM 可以读取XML,也可以向XML文档中插入数据 SAX 只能对XML 进行读取,不能插入数据(sax的缺点) 3. DOM 可以访问指定的元素进行随机访问 SAX 只能从头开始执行,顺序解析,只进行一次。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics