public abstract class SAXParser extends Object
XMLReader实现类的API。 
       在JAXP 1.0,此类包装Parser接口,但是此接口由替换XMLReader 。 
       为了方便转换,此类继续支持相同的名称和界面以及支持新方法。 
       该类的一个实例可以从SAXParserFactory.newSAXParser()方法获得。 
       一旦获得此类的实例,可以从各种输入源解析XML。 
       这些输入源是InputStreams,Files,URL和SAX InputSources。 
       此静态方法将基于系统属性设置创建新的工厂实例,如果未定义属性,则使用平台默认值。
 控制要创建哪个Factory实现的系统属性命名为"javax.xml.parsers.SAXParserFactory" 。 该属性命名一个类,该类是该抽象类的具体子类。 如果没有定义属性,将使用一个平台默认值。 
HandlerBase或DefaultHandler的方法。 
        这个包含底层实现的类的实现者可以考虑使用ParserAdapter类来初始调整其SAX1实现在此修订类下工作。 
| Modifier | Constructor and Description | 
|---|---|
| protected  | SAXParser()
              受保护的构造函数,以防止启动。 
             | 
| Modifier and Type | Method and Description | 
|---|---|
| abstract Parser | getParser()
              返回由该类实现封装的SAX解析器。 
             | 
| abstract Object | getProperty(String name) 
             返回 XMLReader的底层实现中请求的特定属性 。 | 
| Schema | getSchema() 
             获取到的基准 Schema正在使用的XML处理器。 | 
| abstract XMLReader | getXMLReader() 
             返回由该类实现封装的 XMLReader。 | 
| abstract boolean | isNamespaceAware()
              指示此解析器是否配置为了解命名空间。 
             | 
| abstract boolean | isValidating()
              指示此解析器是否配置为验证XML文档。 
             | 
| boolean | isXIncludeAware()
              获取此解析器的XInclude处理模式。 
             | 
| void | parse(File f, DefaultHandler dh) 
             解析使用指定的指定XML文件的内容 DefaultHandler。 | 
| void | parse(File f, HandlerBase hb) 
             解析使用指定的指定XML文件的内容 HandlerBase。 | 
| void | parse(InputSource is, DefaultHandler dh) 
             解析给出的内容 InputSource使用指定为XMLDefaultHandler。 | 
| void | parse(InputSource is, HandlerBase hb) 
             解析给出的内容 InputSource使用指定为XMLHandlerBase。 | 
| void | parse(InputStream is, DefaultHandler dh) 
             解析给定的内容 InputStream使用指定的实例作为XMLDefaultHandler。 | 
| void | parse(InputStream is, DefaultHandler dh, String systemId) 
             解析给定的内容 InputStream使用指定的实例作为XMLDefaultHandler。 | 
| void | parse(InputStream is, HandlerBase hb) 
             解析给定的内容 InputStream使用指定的实例作为XMLHandlerBase。 | 
| void | parse(InputStream is, HandlerBase hb, String systemId) 
             解析给定的内容 InputStream使用指定的实例作为XMLHandlerBase。 | 
| 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。 | 
protected SAXParser()
 受保护的构造函数,以防止启动。 使用SAXParserFactory.newSAXParser() 。 
public void reset()
 将此SAXParser重置为原始配置。 
 SAXParser被重置为与使用SAXParserFactory.newSAXParser()创建时相同的状态。 reset()旨在允许现有的SAXParser s的重用,从而节省与创建新的SAXParser s相关的资源。 
 复位SAXParser不能保证有相同的Schema Object ,例如Object.equals(Object obj) 。 保证在功能上等于Schema 。 
UnsupportedOperationException - 当实现不覆盖此方法 
           public void parse(InputStream is, HandlerBase hb) throws SAXException, IOException
 解析给定的内容InputStream使用指定的实例作为XML HandlerBase 。 建议使用DefaultHandler版本的此方法,因为HandlerBase类已在SAX 2.0中弃用 。 
is - 包含要解析的内容的InputStream。 
           hb - 要使用的SAX HandlerBase。 
           IllegalArgumentException - 如果给定的InputStream为空。 
           SAXException - 如果解析产生SAX错误。 
           IOException - 如果IO错误发生与 
            InputStream 。 
           DocumentHandler 
           public void parse(InputStream is, HandlerBase hb, String systemId) throws SAXException, IOException
 解析给定的内容InputStream使用指定的实例作为XML HandlerBase 。 建议使用DefaultHandler版本的此方法,因为HandlerBase类已在SAX 2.0中弃用 。 
is - 包含要解析的内容的InputStream。 
           hb - 要使用的SAX HandlerBase。 
           systemId - 解析相对URI所需的systemId。 
           IllegalArgumentException - 如果给定的 
            InputStream是 
            null 。 
           IOException - 如果任何IO错误发生与 
            InputStream 。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           version of this method instead. 
           public void parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
InputStream使用指定的实例作为XML DefaultHandler 。 
          is - 包含要解析的内容的InputStream。 
           dh - 要使用的SAX DefaultHandler。 
           IllegalArgumentException - 如果给定的InputStream为null。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(InputStream is, DefaultHandler dh, String systemId) throws SAXException, IOException
InputStream使用指定的实例作为XML DefaultHandler 。 
          is - 包含要解析的内容的InputStream。 
           dh - 要使用的SAX DefaultHandler。 
           systemId - 解析相对URI所需的systemId。 
           IllegalArgumentException - 如果给定的InputStream为空。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           version of this method instead. 
           public void parse(String uri, HandlerBase hb) throws SAXException, IOException
HandlerBase解析使用给定统一资源标识符(URI)作为XML描述的内容 。 
           推荐使用DefaultHandler版本的此方法,因为HandlerBase类已在SAX 2.0中弃用 
          uri - 要解析的内容的位置。 
           hb - 要使用的SAX HandlerBase。 
           IllegalArgumentException - 如果uri为空。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
DefaultHandler解析使用给定统一资源标识符(URI)作为XML描述的内容 。 
          uri - 要解析的内容的位置。 
           dh - 要使用的SAX DefaultHandler。 
           IllegalArgumentException - 如果uri为空。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(File f, HandlerBase hb) throws SAXException, IOException
HandlerBase 。 
           建议使用DefaultHandler版本的此方法,因为HandlerBase类已在SAX 2.0中弃用 
          f - 包含要解析的XML的文件 
           hb - 要使用的SAX HandlerBase。 
           IllegalArgumentException - 如果File对象为空。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(File f, DefaultHandler dh) throws SAXException, IOException
DefaultHandler 。 
          f - 包含要解析的XML的文件 
           dh - 要使用的SAX DefaultHandler。 
           IllegalArgumentException - 如果File对象为空。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(InputSource is, HandlerBase hb) throws SAXException, IOException
HandlerBase将作为XML的内容解析为InputSource 。 
           建议使用DefaultHandler版本的此方法,因为HandlerBase类已在SAX 2.0中弃用 
          is - 包含要解析的内容的InputSource。 
           hb - 要使用的SAX HandlerBase。 
           IllegalArgumentException - 如果 
            InputSource对象是 
            null 。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public void parse(InputSource is, DefaultHandler dh) throws SAXException, IOException
InputSource使用指定为XML DefaultHandler 。 
          is - 包含要解析的内容的InputSource。 
           dh - 要使用的SAX DefaultHandler。 
           IllegalArgumentException - 如果 
            InputSource对象是 
            null 。 
           IOException - 如果发生任何IO错误。 
           SAXException - 如果在处理过程中发生任何SAX错误。 
           DocumentHandler 
           public abstract Parser getParser() throws SAXException
SAXException - 如果在处理过程中发生任何SAX错误。 
           public abstract XMLReader getXMLReader() throws SAXException
XMLReader。 
          SAXException - 如果在处理过程中发生任何SAX错误。 
           public abstract boolean isNamespaceAware()
public abstract boolean isValidating()
public abstract void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
 设置基础实现中的特定属性XMLReader 。 核心功能和属性的列表可以在http://sax.sourceforge.net/?selected=get-set找到。 
 实现JAXP 1.5或更高版本的所有实现都需要支持XMLConstants.ACCESS_EXTERNAL_DTD和XMLConstants.ACCESS_EXTERNAL_SCHEMA属性。 
 设置XMLConstants.ACCESS_EXTERNAL_DTD属性限制对外部DTD的访问,外部实体引用属性指定的协议。 如果由于此属性的限制,在解析期间访问被拒绝, SAXException将被SAXParser定义的解析方法抛出。 
 设置XMLConstants.ACCESS_EXTERNAL_SCHEMA属性将对schemaLocation属性设置的外部模式的访问限制为属性指定的协议。 如果访问被解析,由于该属性的限制时否认, SAXException将由定义的解析方法抛出SAXParser 。 
name - 要设置的属性的名称。 
           value - 要设置的属性的值。 
           SAXNotRecognizedException - 底层XMLReader无法识别属性名称时。 
           SAXNotSupportedException - 底层XMLReader识别属性名称但不支持该属性时。 
           XMLReader.setProperty(java.lang.String, java.lang.Object) 
           public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
 返回XMLReader的底层实现中请求的特定属性 。 
name - 要检索的属性的名称。 
           SAXNotRecognizedException - 底层XMLReader无法识别属性名称时。 
           SAXNotSupportedException - 底层XMLReader识别属性名称但不支持该属性时。 
           XMLReader.getProperty(java.lang.String) 
           public Schema getSchema()
 获取到的基准Schema正在使用的XML处理器。 
 如果没有使用模式,则返回null 。 
Schema正在使用或null如果没有使用 
           UnsupportedOperationException - 实现时不覆盖此方法 
           public boolean isXIncludeAware()
获取此解析器的XInclude处理模式。
SAXParserFactory.isXIncludeAware() 。 
           UnsupportedOperationException - 当实现不覆盖此方法时 
           SAXParserFactory.setXIncludeAware(boolean) 
            Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.