SAX 是什么?

来源:互联网 发布:linux 文件读写权限 编辑:程序博客网 时间:2024/05/09 01:14
 

用于读取和操作 XML 文件的标准是文档对象模型(Document Object Model,DOM)。 遗憾的是,DOM 方法涉及读取整个文件并将该文件存储在一个树结构中,而这样可能是低效的、缓慢的,并且很消耗资源。

一种替代技术就是 Simple API for XML,或称为 SAX。SAX 允许您在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。

SAX 是由 XML-DEV 邮件列表的成员开发的,对应的 Java 版本现在是一个 SourceForge 项目。该项目的目的是为 XML 的使用提供一种更自然的手段 ―― 换句话说,也就是不涉及 DOM 所必需的开销和概念跳跃。

项目的成果是一个基于事件的 API。解析器向一个事件处理程序发送事件,比如元素开始和元素结束,而事件处理器则处理该信息。然后应用程序本身就能够处理该数据。原始的文档仍然保留完好无损,但是 SAX 提供了操作数据的手段,而后数据可以引入另一个进程或文档。

SAX 没有官方的标准机构;它不由万维网联盟(Wide Web Consortium,W3C)或其他任何官方机构维护,但它是 XML 社区事实上的标准。