读取和操纵 XML 文件的标准方法是 DOM(“文档对象模型”)。遗憾的是,这种方法需要读取整个文件并将它存储到树结构中,因而效率不高、缓慢,并且会过度使用资源。
一种替代方法是使用 Simple API for XML 或 SAX。SAX 允许正在读取 文档时处理该文档,这避免了在采取操作之前需要等待存储文档的所有内容。
SAX 是由 XML-DEV 邮件列表的成员开发的,Java 版本由 David Megginson 维护。他们的目的是提供一种更自然的方法来使用 XML, 这种方法不会涉及到使用 DOM 的那种开销。
结果是基于事件的 API。解析器将事件(譬如,元素的开始或结束)发送给 处理信息的事件处理程序。然后,应用程序自己可以处理数据。虽然原始文 档保持不变,但 SAX 提供了操纵数据的方法,然后会将该方法导向另一个过 程或文档。
对于 SAX,没有官方的标准;万维网(W3C)或其它官方组织不维护 SAX, 但在 XML 社区中,它是一个事实上的标准。
|
|
SAX 分析经过其的 XML 流,这非常象老式的自动收报机纸条。考虑以下 XML 代码片断:
<?xml version="1.0"?> |
一般情况下,SAX 处理器分析这段代码将生成以下事件:
Start document |
SAX API 允许开发者捕获这些事件,并对它们进行操作。
SAX 处理涉及以下几步:
版权声明:本文为yeliang0202原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。