欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-22 16:36:05
...
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 只能从头开始执行,顺序解析,只进行一次。