XMLReader
接口所取代,其中包括命名空间支持。
public interface Parser
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()方法。
EntityResolver
, DTDHandler
, DocumentHandler
, ErrorHandler
, HandlerBase
, InputSource
Modifier and Type | Method and Description |
---|---|
void |
parse(InputSource source)
已弃用
解析一个XML文档。
|
void |
parse(String systemId)
已弃用
从系统标识符(URI)解析XML文档。
|
void |
setDocumentHandler(DocumentHandler handler)
已弃用
允许应用程序注册文档事件处理程序。
|
void |
setDTDHandler(DTDHandler handler)
已弃用
允许应用程序注册DTD事件处理程序。
|
void |
setEntityResolver(EntityResolver resolver)
已弃用
允许应用程序注册自定义实体解析器。
|
void |
setErrorHandler(ErrorHandler handler)
已弃用
允许应用程序注册错误事件处理程序。
|
void |
setLocale(Locale locale)
已弃用
允许应用程序请求区域设置错误和警告。
|
void setLocale(Locale locale) throws SAXException
SAX解析器不需要为错误和警告提供本地化; 但是,如果他们无法支持所请求的区域设置,则必须抛出SAX异常。 应用程序可能不会在解析过程中请求区域设置更改。
locale
- Java Locale对象。
SAXException
- 如果不支持请求的区域设置,则抛出异常(使用上一个或默认的区域设置)。
SAXException
, SAXParseException
void setEntityResolver(EntityResolver resolver)
如果应用程序没有注册实体解析器,则SAX解析器将解析系统标识符并打开与实体本身的连接(这是HandlerBase中实现的默认行为)。
应用程序可以在解析过程中注册新的或不同的实体解析器,SAX解析器必须立即开始使用新的解析器。
resolver
- 解析实体的对象。
EntityResolver
, HandlerBase
void setDTDHandler(DTDHandler handler)
如果应用程序没有注册DTD处理程序,SAX解析器报告的所有DTD事件将被默认忽略(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
handler
- DTD处理程序。
DTDHandler
, HandlerBase
void setDocumentHandler(DocumentHandler handler)
如果应用程序没有注册文档处理程序,SAX解析器报告的所有文档事件将被默认忽略(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
handler
- 文档处理程序。
DocumentHandler
, HandlerBase
void setErrorHandler(ErrorHandler handler)
如果应用程序没有注册错误事件处理程序,SAX解析器报告的所有错误事件将被默认忽略,除了fatalError,这将抛出一个SAXException(这是由HandlerBase实现的默认行为)。
应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX解析器必须立即开始使用新的处理程序。
handler
- 错误处理程序。
ErrorHandler
, SAXException
, HandlerBase
void parse(InputSource source) throws SAXException, IOException
应用程序可以使用此方法指示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)
void parse(String systemId) throws SAXException, IOException
此方法是从系统标识符读取文档的常见情况的快捷方式。 它完全相当于以下内容:
parse(new InputSource(systemId));
如果系统标识符是URL,则应用程序在将其传递给解析器之前必须完全解析。
systemId
- 系统标识符(URI)。
SAXException
- 任何SAX异常,可能包装另一个异常。
IOException
- 解析器的IO异常,可能来自应用程序提供的字节流或字符流。
parse(org.xml.sax.InputSource)