- 所有已知的实现类:
XMLReaderAdapter
这是 SAX1 的主要事件提供者接口;它在 SAX2 中已被 XMLReader 取代,其中包括命名空间支持和复杂的可配置性和可扩展性。
所有 SAX1 解析器都必须实现这个基本接口:它允许应用程序为不同类型的事件注册处理程序并从 URI 或字符流启动解析。
所有 SAX1 解析器还必须实现零参数构造方法(尽管也允许使用其他构造方法)。
SAX1 解析器是可重用但不可重入的:一旦第一次解析成功完成,应用程序可以重用解析器对象(可能具有不同的输入源),但它可能不会在解析中递归调用 parse() 方法。
- 自从:
- 1.4, SAX 1.0
- 参见:
-
方法总结
修饰符和类型方法描述void已弃用。从系统标识符 (URI) 解析 XML 文档。voidparse(InputSource source) 已弃用。解析 XML 文档。voidsetDocumentHandler(DocumentHandler handler) 已弃用。允许应用程序注册文档事件处理程序。voidsetDTDHandler(DTDHandler handler) 已弃用。允许应用程序注册 DTD 事件处理程序。voidsetEntityResolver(EntityResolver resolver) 已弃用。允许应用程序注册自定义实体解析器。voidsetErrorHandler(ErrorHandler handler) 已弃用。允许应用程序注册错误事件处理程序。void已弃用。允许应用程序请求错误和警告的locale。
-
方法详情
-
setLocale
已弃用。允许应用程序请求错误和警告的locale。SAX 解析器不需要为错误和警告提供本地化;但是,如果它们不能支持所请求的locale,则它们必须抛出 SAX 异常。应用程序可能不会在解析过程中请求区域设置更改。
- 参数:
locale- Java Locale 对象。- 抛出:
SAXException- 如果不支持请求的区域设置,则抛出异常(使用以前的或默认的区域设置)。- 参见:
-
setEntityResolver
已弃用。允许应用程序注册自定义实体解析器。如果应用程序没有注册实体解析器,SAX 解析器将解析系统标识符并打开与实体本身的连接(这是 HandlerBase 中实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的实体解析器,SAX 解析器必须立即开始使用新的解析器。
- 参数:
resolver- 用于解析实体的对象。- 参见:
-
setDTDHandler
已弃用。允许应用程序注册 DTD 事件处理程序。如果应用程序没有注册 DTD 处理程序,则 SAX 解析器报告的所有 DTD 事件都将被静默忽略(这是 HandlerBase 实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。
- 参数:
handler- DTD 处理程序。- 参见:
-
setDocumentHandler
已弃用。允许应用程序注册文档事件处理程序。如果应用程序没有注册文档处理程序,则 SAX 解析器报告的所有文档事件都将被忽略(这是 HandlerBase 实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。
- 参数:
handler- 文档处理程序。- 参见:
-
setErrorHandler
已弃用。允许应用程序注册错误事件处理程序。如果应用程序没有注册错误事件处理程序,SAX 解析器报告的所有错误事件都将被静默忽略,除了 fatalError,它会抛出 SAXException(这是 HandlerBase 实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。
- 参数:
handler- 错误处理程序。- 参见:
-
parse
已弃用。解析 XML 文档。应用程序可以使用此方法指示 SAX 解析器开始解析来自任何有效输入源(字符流、字节流或 URI)的 XML 文档。
应用程序在解析过程中可能不会调用此方法(它们应该为每个额外的 XML 文档创建一个新的解析器)。一旦解析完成,应用程序可以重用相同的解析器对象,可能具有不同的输入源。
- 参数:
source- XML 文档顶层的输入源。- 抛出:
SAXException- 任何 SAX 异常,可能包装另一个异常。IOException- 来自解析器的 IO 异常,可能来自应用程序提供的字节流或字符流。- 参见:
-
parse
已弃用。从系统标识符 (URI) 解析 XML 文档。此方法是从系统标识符读取文档的常见情况的快捷方式。它完全等同于以下内容:
parse(new InputSource(systemId));
如果系统标识符是一个 URL,它必须在传递给解析器之前由应用程序完全解析。
- 参数:
systemId- 系统标识符 (URI)。- 抛出:
SAXException- 任何 SAX 异常,可能包装另一个异常。IOException- 来自解析器的 IO 异常,可能来自应用程序提供的字节流或字符流。- 参见:
-
XMLReader接口取代,其中包括命名空间支持。