-
- 所有已知实现类:
-
XMLReaderAdapter
已过时。该接口已被SAX2XMLReader
接口所取代,其中包括Namespace支持。
@Deprecated(since="1.5") public interface Parser
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
所替代,其中包括Namespace支持和复杂的可配置性和可扩展性。所有SAX1解析器都必须实现此基本界面:它允许应用程序注册不同类型事件的处理程序,并从URI或字符流启动解析。
所有SAX1解析器还必须实现零参数构造函数(尽管也允许其他构造函数)。
SAX1解析器是可重复使用但不重入的:一旦第一个解析成功完成,应用程序可能重用一个解析器对象(可能有一个不同的输入源),但它可能不会在解析中递归地调用parse()方法。
- 从以下版本开始:
- 1.4,SAX 1.0
- 另请参见:
-
EntityResolver
,DTDHandler
,DocumentHandler
,ErrorHandler
,HandlerBase
,InputSource
-
-
方法摘要
所有方法 接口方法 抽象方法 弃用的方法 Modifier and Type 方法 描述 void
parse(String systemId)
已过时。从系统标识符(URI)解析XML文档。void
parse(InputSource source)
已过时。解析一个XML文档。void
setDocumentHandler(DocumentHandler handler)
已过时。允许应用程序注册文档事件处理程序。void
setDTDHandler(DTDHandler handler)
已过时。允许应用程序注册DTD事件处理程序。void
setEntityResolver(EntityResolver resolver)
已过时。允许应用程序注册自定义实体解析器。void
setErrorHandler(ErrorHandler handler)
已过时。允许应用程序注册错误事件处理程序。void
setLocale(Locale locale)
已过时。允许应用程序请求区域设置错误和警告。
-
-
-
方法详细信息
-
setLocale
void setLocale(Locale locale) throws SAXException
已过时。允许应用程序请求区域设置错误和警告。SAX解析器不需要为错误和警告提供本地化; 但是,如果他们无法支持所请求的区域设置,则必须抛出SAX异常。 应用程序可能不会在解析过程中请求区域设置更改。
- 参数
-
locale
- Java Locale对象。 - 异常
-
SAXException
- 如果不支持请求的区域设置,则抛出异常(使用上一个或默认区域设置)。 - 另请参见:
-
SAXException
,SAXParseException
-
setEntityResolver
void setEntityResolver(EntityResolver resolver)
已过时。允许应用程序注册自定义实体解析器。如果应用程序没有注册实体解析器,SAX解析器将解析系统标识符并打开与实体本身的连接(这是HandlerBase中实现的默认行为)。
应用程序可以在解析过程中注册新的或不同的实体解析器,SAX解析器必须立即开始使用新的解析器。
- 参数
-
resolver
- 解析实体的对象。 - 另请参见:
-
EntityResolver
,HandlerBase
-
setDTDHandler
void setDTDHandler(DTDHandler handler)
已过时。允许应用程序注册DTD事件处理程序。如果应用程序没有注册DTD处理程序,SAX解析器报告的所有DTD事件将被默认忽略(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
- 参数
-
handler
- DTD处理程序。 - 另请参见:
-
DTDHandler
,HandlerBase
-
setDocumentHandler
void setDocumentHandler(DocumentHandler handler)
已过时。允许应用程序注册文档事件处理程序。如果应用程序没有注册文档处理程序,SAX解析器报告的所有文档事件将被默认忽略(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
- 参数
-
handler
- 文档处理程序。 - 另请参见:
-
DocumentHandler
,HandlerBase
-
setErrorHandler
void setErrorHandler(ErrorHandler handler)
已过时。允许应用程序注册错误事件处理程序。如果应用程序没有注册错误事件处理程序,SAX解析器报告的所有错误事件将被默认忽略,除了fatalError,这将抛出一个SAXException(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
- 参数
-
handler
- 错误处理程序。 - 另请参见:
-
ErrorHandler
,SAXException
,HandlerBase
-
parse
void parse(InputSource source) throws SAXException, IOException
已过时。解析一个XML文档。应用程序可以使用此方法指示SAX解析器从任何有效的输入源(字符流,字节流或URI)开始解析XML文档。
解析过程中应用程序可能无法调用此方法(它们应该为每个附加的XML文档创建一个新的Parser)。 一旦解析完成,应用程序可能重用相同的Parser对象,可能使用不同的输入源。
- 参数
-
source
- XML文档顶级的输入源。 - 异常
-
SAXException
- 任何SAX异常,可能包装另一个异常。 -
IOException
- 解析器的IO异常,可能来自应用程序提供的字节流或字符流。 - 另请参见:
-
InputSource
,parse(java.lang.String)
,setEntityResolver(org.xml.sax.EntityResolver)
,setDTDHandler(org.xml.sax.DTDHandler)
,setDocumentHandler(org.xml.sax.DocumentHandler)
,setErrorHandler(org.xml.sax.ErrorHandler)
-
parse
void parse(String systemId) throws SAXException, IOException
已过时。从系统标识符(URI)解析XML文档。该方法是从系统标识符读取文档的常见情况的快捷方式。 它完全相当于以下内容:
parse(new InputSource(systemId));
如果系统标识符是URL,则应用程序在将其传递给解析器之前必须完全解析。
- 参数
-
systemId
- 系统标识符(URI)。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 -
IOException
- 解析器的IO异常,可能来自应用程序提供的字节流或字符流。 - 另请参见:
-
parse(org.xml.sax.InputSource)
-
-