ublic abstract class SAXParser extends Object
定义包装 XMLReader 实现类的 API。在 JAXP 1.0 中,此类包装 Parser 接口,但是此接口由 XMLReader 取代。为了便于过渡,此类继续支持相同的名称和接口,并支持新方法。 此类的实例可以从 SAXParserFactory.newSAXParser() 方法获得。获取此类的实例之后,将可以从各种输入源解析 XML。这些输入源为 InputStream、File、URL 和 SAX InputSource。
此静态方法根据系统属性设置创建新的工厂实例,如果未定义属性,则使用平台默认值。
控制创建哪个工厂实现的系统属性命名为 "javax.xml.parsers.SAXParserFactory"。此属性命名一个类,该类为此抽象类的具体子类。如果未定义属性,将使用默认的平台。
HandlerBase 或
DefaultHandler 的方法。
包装基础实现的此类的实现程序可以考虑使用 ParserAdapter 类,从而使其 SAX1 实现最初在此修订类下工作。
| 构造方法摘要 | |
|---|---|
protected | SAXParser() 将阻止实例化的受保护的构造方法。 |
| 方法摘要 | |
|---|---|
abstract Parser | getParser() 返回由此类的实现封装的 SAX 解析器。 |
abstract Object | getProperty(String name) 返回 XMLReader 的基础实现中请求的特定属性。 |
Schema | getSchema() 获取对 XML 处理器使用的 Schema 的引用。 |
abstract XMLReader | getXMLReader() 返回由此类的实现封装的 XMLReader。 |
abstract boolean | isNamespaceAware() 指示此解析器是否被配置为可识别名称空间。 |
abstract boolean | isValidating() 指示此解析器是否被配置为验证 XML 文档。 |
boolean | isXIncludeAware() 获取此解析器的 XInclude 处理模式。 |
void | parse(File f, DefaultHandler dh) 使用指定的 DefaultHandler 将指定文件的内容解析为 XML。 |
void | parse(File f, HandlerBase hb) 使用指定的 HandlerBase 将指定文件的内容解析为 XML。 |
void | parse(InputSource is, DefaultHandler dh) 使用指定的 DefaultHandler 将给定 InputSource 的内容解析为 XML。 |
void | parse(InputSource is, HandlerBase hb) 使用指定的 HandlerBase 将给定 InputSource 的内容解析为 XML。 |
void | parse(InputStream is, DefaultHandler dh) 使用指定的 DefaultHandler 将给定的 InputStream 实例的内容解析为 XML。 |
void | parse(InputStream is, DefaultHandler dh, String systemId) 使用指定的 DefaultHandler 将给定的 InputStream 实例的内容解析为 XML。 |
void | parse(InputStream is, HandlerBase hb) 使用指定的 HandlerBase 将给定的 InputStream 实例的内容解析为 XML。 |
void | parse(InputStream is, HandlerBase hb, String systemId) 使用指定的 HandlerBase 将给定的 InputStream 实例的内容解析为 XML。 |
void | parse(String uri, DefaultHandler dh) 使用指定的 DefaultHandler 将给定统一资源标识符 (URI) 描述的内容解析为 XML。 |
void | parse(String uri, HandlerBase hb) 使用指定的 HandlerBase 将给定统一资源标识符 (URI) 描述的内容解析为 XML。 |
void | reset() 将此 SAXParser 重置为其原始配置。 |
abstract void | setProperty(String name, Object value) 设置 XMLReader 的基础实现中的特定属性。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
SAXParser
protected SAXParser()
-
将阻止实例化的受保护的构造方法。使用
SAXParserFactory.newSAXParser()。
| 方法详细信息 |
|---|
reset
public void reset()
-
将此
SAXParser重置为其原始配置。SAXParser被重置为使用SAXParserFactory.newSAXParser()创建它时的状态。reset()在设计上旨在允许重用现有的SAXParser,从而节省与创建新的SAXParser相关的资源。重置的
SAXParser不能保证具有相同的SchemaObject,如Object.equals(Object obj)。可以保证具有功能相等的Schema。 -
-
从以下版本开始:
- 1.5
parse
public void parse(InputStream is,
HandlerBase hb)
throws SAXException,
IOException
-
使用指定的
HandlerBase将给定的InputStream实例的内容解析为 XML。建议使用此方法的 DefaultHandler 版本,因为 HandlerBase 类在 SAX 2.0 中已废弃。 -
-
参数:
-
is- 包含要解析内容的 InputStream。 -
hb- 要使用的 SAX HandlerBase。
抛出:
-
IllegalArgumentException- 如果给定的 InputStream 为 null。 -
SAXException- 如果解析产生 SAX 错误。 -
IOException- 如果在与InputStream的交互过程中发生 IO 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(InputStream is,
HandlerBase hb,
String systemId)
throws SAXException,
IOException
-
使用指定的
HandlerBase将给定的InputStream实例的内容解析为 XML。建议使用此方法的 DefaultHandler 版本,因为 HandlerBase 类在 SAX 2.0 中已废弃。 -
-
参数:
-
is- 包含要解析内容的 InputStream。 -
hb- 要使用的 SAX HandlerBase。 -
systemId- 解析相关 URI 所需的 systemId。
抛出:
-
IllegalArgumentException- 如果给定的InputStream为null。 -
IOException- 如果在与InputStream的交互过程中发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
中的此方法。
-
parse
public void parse(InputStream is,
DefaultHandler dh)
throws SAXException,
IOException
-
使用指定的
DefaultHandler将给定的InputStream实例的内容解析为 XML。 -
-
参数:
-
is- 包含要解析内容的 InputStream。 -
dh- 要使用的 SAX DefaultHandler。
抛出:
-
IllegalArgumentException- 如果给定的 InputStream 为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(InputStream is,
DefaultHandler dh,
String systemId)
throws SAXException,
IOException
-
使用指定的
DefaultHandler将给定的InputStream实例的内容解析为 XML。 -
-
参数:
-
is- 包含要解析内容的 InputStream。 -
dh- 要使用的 SAX DefaultHandler。 -
systemId- 解析相关 URL 所需的 systemId。
抛出:
-
IllegalArgumentException- 如果给定的 InputStream 为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
org.xml.sax.DocumentHandler 版本。
-
parse
public void parse(String uri,
HandlerBase hb)
throws SAXException,
IOException
-
使用指定的
HandlerBase将给定统一资源标识符 (URI) 描述的内容解析为 XML。 建议使用此方法的 DefaultHandler 版本,因为HandlerBase类在 SAX 2.0 中已废弃 -
-
参数:
-
uri- 要解析的内容的位置。 -
hb- 要使用的 SAX HandlerBase。
抛出:
-
IllegalArgumentException- 如果 uri 为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(String uri,
DefaultHandler dh)
throws SAXException,
IOException
-
使用指定的
DefaultHandler将给定统一资源标识符 (URI) 描述的内容解析为 XML。 -
-
参数:
-
uri- 要解析的内容的位置。 -
dh- 要使用的 SAX DefaultHandler。
抛出:
-
IllegalArgumentException- 如果 uri 为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(File f,
HandlerBase hb)
throws SAXException,
IOException
-
使用指定的
HandlerBase将指定文件的内容解析为 XML。 建议使用此方法的 DefaultHandler 版本,因为 HandlerBase 类在 SAX 2.0 中已废弃。 -
-
参数:
-
f- 包含要解析的 XML 的文件 -
hb- 要使用的 SAX HandlerBase。
抛出:
-
IllegalArgumentException- 如果 File 对象为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(File f,
DefaultHandler dh)
throws SAXException,
IOException
-
使用指定的
DefaultHandler将指定文件的内容解析为 XML。 -
-
参数:
-
f- 包含要解析的 XML 的文件 -
dh- 要使用的 SAX DefaultHandler。
抛出:
-
IllegalArgumentException- 如果 File 对象为 null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(InputSource is,
HandlerBase hb)
throws SAXException,
IOException
-
使用指定的
HandlerBase将给定InputSource的内容解析为 XML。 建议使用此方法的 DefaultHandler 版本,因为 HandlerBase 类在 SAX 2.0 中已废弃。 -
-
参数:
-
is- 包含要解析内容的 InputSource。 -
hb- 要使用的 SAX HandlerBase。
抛出:
-
IllegalArgumentException- 如果InputSource对象为null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
parse
public void parse(InputSource is,
DefaultHandler dh)
throws SAXException,
IOException
-
使用指定的
DefaultHandler将给定InputSource的内容解析为 XML。 -
-
参数:
-
is- 包含要解析内容的 InputSource。 -
dh- 要使用的 SAX DefaultHandler。
抛出:
-
IllegalArgumentException- 如果InputSource对象为null。 -
IOException- 如果发生任何 IO 错误。 -
SAXException- 如果在处理过程中发生任何 SAX 错误。
另请参见:
-
DocumentHandler
-
getParser
public abstract Parser getParser()
throws SAXException
-
返回由此类的实现封装的 SAX 解析器。
-
-
返回:
- 由此类的实现封装的 SAX 解析器。 抛出:
-
SAXException- 如果在处理过程中发生任何 SAX 错误。
getXMLReader
public abstract XMLReader getXMLReader()
throws SAXException
-
返回由此类的实现封装的
XMLReader。 -
-
返回:
- 由此类的实现封装的 XMLReader。 抛出:
-
SAXException- 如果在处理过程中发生任何 SAX 错误。
isNamespaceAware
public abstract boolean isNamespaceAware()
-
指示此解析器是否被配置为可识别名称空间。
-
-
返回:
- 如果此解析器被配置为可识别名称空间,则返回 true;否则返回 false。
isValidating
public abstract boolean isValidating()
-
指示此解析器是否被配置为验证 XML 文档。
-
-
返回:
- 此解析器被配置为验证 XML 文档,则返回 true;否则返回 false。
setProperty
public abstract void setProperty(String name,
Object value)
throws SAXNotRecognizedException,
SAXNotSupportedException
-
设置
XMLReader的基础实现中的特定属性。核心功能和属性列表可以在 http://sax.sourceforge.net/?selected=get-set 中找到。 -
-
参数:
-
name- 要设置的属性的名称。 -
value- 要设置的属性的值。
抛出:
-
SAXNotRecognizedException- 当基础 XMLReader 不能识别属性名称时。 -
SAXNotSupportedException- 当基础 XMLReader 可以识别属性名称,但不支持该属性时。
另请参见:
-
XMLReader.setProperty(java.lang.String, java.lang.Object)
-
getProperty
public abstract Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException
-
返回
XMLReader的基础实现中请求的特定属性。 -
-
参数:
-
name- 要检索的属性的名称。
返回:
- 所请求属性的值。 抛出:
-
SAXNotRecognizedException- 当基础 XMLReader 不能识别属性名称时。 -
SAXNotSupportedException- 当基础 XMLReader 可以识别属性名称,但不支持该属性时。
另请参见:
-
XMLReader.getProperty(java.lang.String)
-
getSchema
public Schema getSchema()
-
获取对 XML 处理器使用的
Schema的引用。如果没有使用 schema,则返回
null。 -
-
返回:
-
返回正在使用的
Schema,如果一个也没有使用,则返回null
抛出:
-
UnsupportedOperationException- 为了向后兼容,当使用 JAXP 较早版本的实现时,将抛出此异常。
从以下版本开始:
- 1.5
-
返回正在使用的
isXIncludeAware
public boolean isXIncludeAware()
-
获取此解析器的 XInclude 处理模式。
-
-
返回:
-
当从工厂创建此解析器时,返回
SAXParserFactory.isXIncludeAware()的返回值。
抛出:
-
UnsupportedOperationException- 为了向后兼容,当使用 JAXP 较早版本的实现时,将抛出此异常。
-
当从工厂创建此解析器时,返回
本文介绍SAXParser类的功能和使用方法,包括其构造方法、关键API如parse、getXMLReader等,以及如何通过SAXParserFactory创建实例。
7674

被折叠的 条评论
为什么被折叠?



