类:用于 XML 的简单 API

本类重点介绍 XML 的简单 API(SAX),这是一种用于访问 XML 文档的事件驱动的 String 行访问机制。需要传输和接收 XML 文档的 servlet 和面向网络的程序经常使用此协议,因为它是除 XML 的 Streaming API 之外,目前可用于处理 XML 文档的最快,最不占用内存的机制。 StAX)。


注- 简而言之,SAX 面向状态独立处理,其中元素的处理不依赖于之前的元素。另一方面,StAX 面向状态相关的处理。有关更详细的比较,请参见何时使用 SAX


设置程序以使用 SAX 比设置为使用文档对象模型(DOM)需要更多的工作。 SAX 是事件驱动的模型(您提供了回调方法,并且解析器在读取 XML 数据时调用了它们),这使可视化变得更加困难。最后,除了备份 String 行数据流或重新排列从该流中读取的字符外,您不能“备份”到文档的较早部分或对其进行重新排列。

出于这些原因,正在编写显示 XML 文档并可能对其进行修改的面向用户的应用程序的开发人员将希望使用文件对象模型中描述的 DOM 机制。

但是,即使您打算专门构建 DOM 应用程序,也有几个重要的原因使您熟悉 SAX 模型:

  • 相同的错误处理 :SAX 和 DOM API 会生成相同类型的异常,因此错误处理代码实际上是相同的。

  • 处理验证错误 :默认情况下,规范要求忽略验证错误。如果您想在验证错误的情况下引发异常(并且您可能这样做),那么您需要了解 SAX 错误处理的工作原理。

  • 转换现有数据 :如文件对象模型所示,您可以使用一种机制将现有数据集转换为 XML。但是,利用该机制需要了解 SAX 模型。