Most visited

Recently visited

Added in API level 1
Deprecated since API level 1

Parser

public interface Parser

org.xml.sax.Parser
Known Indirect Subclasses


该接口在API级别1中已被弃用。
该接口已被SAX2 XMLReader接口取代,该接口包含命名空间支持。

SAX(Simple API for XML)分析器的基本接口。

This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.

这是SAX1的主要事件供应商界面; 它在SAX2中已被XMLReader所取代,其中包括命名空间支持和复杂的可配置性和可扩展性。

所有SAX1解析器都必须实现这个基本接口:它允许应用程序为不同类型的事件注册处理程序,并从URI或字符流开始解析。

所有SAX1解析器都必须实现一个零参数构造函数(尽管其他构造函数也是允许的)。

SAX1解析器可重复使用但不可重入:一旦第一次解析成功完成,应用程序可重用解析器对象(可能具有不同的输入源),但它可能不会在解析中递归调用parse()方法。

也可以看看:

Summary

Public methods

abstract void parse(InputSource source)

解析一个XML文档。

abstract void parse(String systemId)

从系统标识符(URI)解析XML文档。

abstract void setDTDHandler(DTDHandler handler)

允许应用程序注册DTD事件处理程序。

abstract void setDocumentHandler(DocumentHandler handler)

允许应用程序注册文档事件处理程序。

abstract void setEntityResolver(EntityResolver resolver)

允许应用程序注册自定义实体解析器。

abstract void setErrorHandler(ErrorHandler handler)

允许应用程序注册错误事件处理程序。

abstract void setLocale(Locale locale)

允许应用程序请求区域设置以查看错误和警告。

Public methods

parse

Added in API level 1
void parse (InputSource source)

解析一个XML文档。

应用程序可以使用此方法来指示SAX解析器开始解析来自任何有效输入源(字符流,字节流或URI)的XML文档。

当解析正在进行时,应用程序可能不会调用此方法(它们应为每个其他XML文档创建一个新的Parser)。 解析完成后,应用程序可能会重用相同的Parser对象,可能会使用不同的输入源。

Parameters
source InputSource: The input source for the top-level of the XML document.
Throws
SAXException Any SAX exception, possibly wrapping another exception.
IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

也可以看看:

parse

Added in API level 1
void parse (String systemId)

从系统标识符(URI)解析XML文档。

此方法是从系统标识符中读取文档的常见情况的快捷方式。 这与以下内容完全相同:

 parse(new InputSource(systemId));
 

如果系统标识符是一个URL,那么它在传递给解析器之前必须由应用程序完全解析。

Parameters
systemId String: The system identifier (URI).
Throws
SAXException Any SAX exception, possibly wrapping another exception.
IOException An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

也可以看看:

setDTDHandler

Added in API level 1
void setDTDHandler (DTDHandler handler)

允许应用程序注册DTD事件处理程序。

如果应用程序没有注册DTD处理程序,则SAX解析器报告的所有DTD事件将被静默忽略(这是HandlerBase实现的默认行为)。

Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.

Parameters
handler DTDHandler: The DTD handler.

也可以看看:

setDocumentHandler

Added in API level 1
void setDocumentHandler (DocumentHandler handler)

允许应用程序注册文档事件处理程序。

如果应用程序没有注册文档处理程序,那么SAX解析器报告的所有文档事件将被默默忽略(这是HandlerBase实现的默认行为)。

应用程序可以在解析中注册新的或不同的处理程序,并且SAX解析器必须立即开始使用新的处理程序。

Parameters
handler DocumentHandler: The document handler.

也可以看看:

setEntityResolver

Added in API level 1
void setEntityResolver (EntityResolver resolver)

允许应用程序注册自定义实体解析器。

如果应用程序没有注册实体解析器,则SAX解析器将解析系统标识符并打开与实体本身的连接(这是在HandlerBase中实现的默认行为)。

应用程序可以在解析过程中注册新的或不同的实体解析器,SAX解析器必须立即开始使用新的解析器。

Parameters
resolver EntityResolver: The object for resolving entities.

也可以看看:

setErrorHandler

Added in API level 1
void setErrorHandler (ErrorHandler handler)

允许应用程序注册错误事件处理程序。

如果应用程序没有注册错误事件处理程序,则SAX解析器报告的所有错误事件将被默默忽略,fatalError除外,这会引发SAXException(这是HandlerBase实现的默认行为)。

应用程序可以在解析中注册新的或不同的处理程序,并且SAX解析器必须立即开始使用新的处理程序。

Parameters
handler ErrorHandler: The error handler.

也可以看看:

setLocale

Added in API level 1
void setLocale (Locale locale)

允许应用程序请求区域设置以查看错误和警告。

SAX解析器不需要为错误和警告提供本地化; 如果它们不能支持请求的区域设置,那么它们必须抛出一个SAX异常。 应用程序可能不会在解析过程中请求区域设置更改。

Parameters
locale Locale: A Java Locale object.
Throws
SAXException Throws an exception (using the previous or default locale) if the requested locale is not supported.

也可以看看:

Hooray!