SAX和DOM

原创 2004年06月28日 15:56:00

SAX是用于处理 XML 的基于事件的 API,SAX 是对“文档对象模型”或者 DOM 的补充

DOM 是用于由 W3C 发布的 XML 语法分析器的基于对象的 API

SAX:

  • 是基于事件的 API。
  • 在一个比 DOM 低的级别上操作。
  • 为您提供比 DOM 更多的控制。
  • 几乎总是比 DOM 更有效率。
  • 但不幸的是,需要比 DOM 更多的工作。

作为基于对象的接口,DOM 通过在内存中显示地构建对象树来与应用程序通信。对象树是 XML 文件中元素树的精确映射。

DOM 易于学习和使用,因为它与基本 XML 文档紧密匹配。它对于我称为以 XML 为中心的应用程序(例如,浏览器和编辑器)也是很理想的。以 XML 为中心的应用程序为了操纵 XML 文档而操纵 XML 文档。

对于不以 XML 为中心的应用程序,SAX 是明智的选择。实际上,SAX 并不在内存中显式地构建文档树。它使应用程序能用最有效率的方法存储数据。

在需要更多控制时使用 SAX;要增加方便性时,则使用 DOM

采用 SAX 的主要原因是效率。SAX 比 DOM 做的事要少,但提供了对语法分析器的更多控制。当然,如果语法分析器的工作减少,则意味着您(开发者)有更多的工作要做。SAX 比 DOM 消耗的资源要少

SAX 的主要限制是它无法向后浏览文档。实际上,激发一个事件后,语法分析器就将其忘记。如您将看到的,应用程序必须显式地缓冲其感兴趣的事件。

SAX,功能强大的 API
SAX 是由 XML-DEV 邮件列表的成员开发的一种用于基于事件的语法分析器的标准和简单的 API。SAX 是“Simple API for XML”的缩写。

SAX 最初是为 Java 而定义,但是它也可以用于 Python、Perl、C++ 和 COM(Windows 对象)。以后一定还有更多的语言绑定。而且,通过 COM,SAX 语法分析器还可以用于所有 Windows 编程语言,包括 Visual Basic 和 Delphi。

一些支持 SAX 的语法分析器包括 Xerces,Apache parser(以前的 IBM 语法分析器)、MSXML(Microsoft 语法分析器)和 XDK(Oracle 语法分析器)。这些语法分析器是最灵活的,因为它们还支持 DOM。

摘自http://www-900.ibm.com/developerWorks/cn/xml/x-saxapi/index.shtml

利用Dom,Sax,Pull三种方式解析xml文件

最近找工作,看到许多公司的要求里都写了要会xml解析,所以就把之前的xml解析知识又重新回顾了一下,写个小例子. 解析xml文件常用的几种方式也就dom,sax,pull了,并且面试官经常问到的也是这...
  • qiang_xi
  • qiang_xi
  • 2015年11月29日 20:15
  • 1152

SAX解析与DOM解析的区别

1.SAX解析(Simple API for XML) SAX解析方式:逐行扫描文档,一遍扫描一遍解析。相比于DOM,SAX可以在解析文档的任意时刻停止解析解析,是一种速度更快,更高效的方法。 优点:...
  • sinat_27170093
  • sinat_27170093
  • 2017年01月07日 13:50
  • 888

浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系

众所周知,SAX与DOM是JAVA中两大核心XML解析API类库,今日兴起看了看相关资料,在这里总结总结。   首先登场的是SAX,SAX是Simple API for XML的简称。另外SAX只...
  • xiongqi215
  • xiongqi215
  • 2013年08月21日 23:10
  • 2348

Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别

XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解...
  • cangchen
  • cangchen
  • 2015年03月03日 10:17
  • 3629

sax、dom、jdom的优缺点和区别

---- sax, dom, jdom技术的优缺点比较 SAX分析器在对XML文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对XML文档的访问。由于事件触发本身是有时序性的,因此...
  • a519781181
  • a519781181
  • 2016年07月29日 10:20
  • 456

XML之四种解析dom,sax,jdom,dom4j原理及性能比较

XML:四种解析器(dom,sax,jdom,dom4j)原理及性能比较   dom是解析xml的底层接口之一(另一种是sax).而jdom和dom4j则是基于底层api的更高级封装。dom是通...
  • qq_35370485
  • qq_35370485
  • 2017年05月24日 08:56
  • 731

XML-解析技术(dom解析,sax解析)

XML解析方式分为两种:dom和sax    dom:(Document Object Model, 即文档对象模型) 是 W3C 组织推荐的处理 XML 的一种方式。    sax: (Simpl...
  • WillCold
  • WillCold
  • 2013年10月25日 08:50
  • 1110

XML数据的三种解析(JSON方式 , DOM方式 , Sax方式)

一.JSON解析:(创建一个Teacher类) 1.第一种方式://获取文件路径 NSString *filePath = [[NSBundle mainBundle]pathForReso...
  • fuzheng0301
  • fuzheng0301
  • 2015年06月12日 18:36
  • 555

xml文件的解析解析方式及Dom解析与Sax解析的区别

一、简单概述你常见的xml解析方式 ①DOM
  • Crazy9599
  • Crazy9599
  • 2014年06月03日 19:20
  • 1076

Java之DOM,SAX,JDOM,DOM4J,四种解析xml方法比较

4种解析方式的比较 1.DOM解析    优点:a.形成了树结构,直观好理解,代码更易编写          b.解析过程中树结构保留在内存中,方便修改 缺点:         a.当xml...
  • qq_31028891
  • qq_31028891
  • 2016年08月13日 21:29
  • 1512
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SAX和DOM
举报原因:
原因补充:

(最多只允许输入30个字)