- java.lang.Object
-  
      - javax.xml.parsers.SAXParser
 
-  
       
 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实现以在此修订类下工作。- 从以下版本开始:
- 1.4
 
-  
        
       -  
             构造方法摘要构造方法 变量 构造器 描述 protectedSAXParser()受保护的构造函数以防止实例化。
 -  
             方法摘要所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 abstract ParsergetParser()返回由此类的实现封装的SAX解析器。abstract ObjectgetProperty(String name)返回XMLReader的底层实现中请求的特定属性。SchemagetSchema()获取对XML处理器使用的Schema的引用。abstract XMLReadergetXMLReader()返回由此类的实现封装的XMLReader。abstract booleanisNamespaceAware()指示此解析器是否配置为了解命名空间。abstract booleanisValidating()指示此解析器是否配置为验证XML文档。booleanisXIncludeAware()获取此解析器的XInclude处理模式。voidparse(File f, HandlerBase hb)使用指定的HandlerBase解析指定为XML的文件的内容。voidparse(File f, DefaultHandler dh)使用指定的DefaultHandler解析指定为XML的文件的内容。voidparse(InputStream is, HandlerBase hb)使用指定的HandlerBase将给定InputStream实例的内容解析为XML。voidparse(InputStream is, HandlerBase hb, String systemId)使用指定的HandlerBase将给定InputStream实例的内容解析为XML。voidparse(InputStream is, DefaultHandler dh)使用指定的DefaultHandler将给定InputStream实例的内容解析为XML。voidparse(InputStream is, DefaultHandler dh, String systemId)使用指定的DefaultHandler将给定InputStream实例的内容解析为XML。voidparse(String uri, HandlerBase hb)使用指定的HandlerBase将给定统一资源标识符(URI)描述的内容解析为XML。voidparse(String uri, DefaultHandler dh)使用指定的DefaultHandler将给出的统一资源标识符(URI)描述的内容解析为XML。voidparse(InputSource is, HandlerBase hb)使用指定的HandlerBase将给定InputSource的内容解析为XML。voidparse(InputSource is, DefaultHandler dh)使用指定的DefaultHandler将给定InputSource的内容解析为XML。voidreset()将此SAXParser重置为其原始配置。abstract voidsetProperty(String name, Object value)设置XMLReader的基础实现中的特定属性。
 
-  
             
-  
        
       -  
             构造方法详细信息-  SAXParserprotected SAXParser() 受保护的构造函数以防止实例化。 使用 SAXParserFactory.newSAXParser()。
 
-  
 -  
             方法详细信息-  resetpublic void reset() 将此 SAXParser重置为其原始配置。SAXParser将重置为与使用SAXParserFactory.newSAXParser()创建时相同的状态。reset()旨在允许重用现有的SAXParser从而节省与创建新SAXParser相关的资源。复位 SAXParser不保证具有相同的SchemaObject,例如Object.equals(Object obj)。 它保证功能相同Schema。- 异常
-  
              UnsupportedOperationException- 当实现不重写此方法时
- 从以下版本开始:
- 1.5
 
 -  parsepublic void parse(InputStream is, HandlerBase hb) throws SAXException, IOException 使用指定的 HandlerBase将给定InputStream实例的内容解析为XML。 建议使用此方法的DefaultHandler版本,因为在SAX 2.0中不推荐使用HandlerBase类 。- 参数
-  
              is- 包含要解析的内容的InputStream。
-  
              hb- 要使用的SAX HandlerBase。
- 异常
-  
              IllegalArgumentException- 如果给定的InputStream为null。
-  
              SAXException- 如果解析产生SAX错误。
-  
              IOException- 如果发生与InputStream交互的IO错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic void parse(InputStream is, HandlerBase hb, String systemId) throws SAXException, IOException 使用指定的 HandlerBase将给定InputStream实例的内容解析为XML。 建议使用此方法的DefaultHandler版本,因为在SAX 2.0中不推荐使用HandlerBase类 。- 参数
-  
              is- 包含要解析的内容的InputStream。
-  
              hb- 要使用的SAX HandlerBase。
-  
              systemId- 解析相对URI所需的systemId。
- 异常
-  
              IllegalArgumentException- 如果给定的InputStream是null。
-  
              IOException- 如果发生与InputStream交互的任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              version of this method instead.
 
 -  parsepublic 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
 
 -  parsepublic void parse(InputStream is, DefaultHandler dh, String systemId) throws SAXException, IOException 使用指定的DefaultHandler将给定InputStream实例的内容解析为XML。- 参数
-  
              is- 包含要解析的内容的InputStream。
-  
              dh- 要使用的SAX DefaultHandler。
-  
              systemId- 解析相对URI所需的systemId。
- 异常
-  
              IllegalArgumentException- 如果给定的InputStream为null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              version of this method instead.
 
 -  parsepublic void parse(String uri, HandlerBase hb) throws SAXException, IOException 使用指定的HandlerBase将给定统一资源标识符(URI)描述的内容解析为XML。 建议使用此方法的DefaultHandler版本,因为SAX 2.0中已弃用HandlerBase类- 参数
-  
              uri- 要解析的内容的位置。
-  
              hb- 要使用的SAX HandlerBase。
- 异常
-  
              IllegalArgumentException- 如果uri为null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic void parse(String uri, DefaultHandler dh) throws SAXException, IOException 使用指定的DefaultHandler将给出的统一资源标识符(URI)描述的内容解析为XML。- 参数
-  
              uri- 要解析的内容的位置。
-  
              dh- 要使用的SAX DefaultHandler。
- 异常
-  
              IllegalArgumentException- 如果uri为null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic void parse(File f, HandlerBase hb) throws SAXException, IOException 使用指定的HandlerBase解析指定为XML的文件的内容。 建议使用此方法的DefaultHandler版本,因为在SAX 2.0中不推荐使用HandlerBase类- 参数
-  
              f- 包含要解析的XML的文件
-  
              hb- 要使用的SAX HandlerBase。
- 异常
-  
              IllegalArgumentException- 如果File对象为null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic void parse(File f, DefaultHandler dh) throws SAXException, IOException 使用指定的DefaultHandler解析指定为XML的文件的内容。- 参数
-  
              f- 包含要解析的XML的文件
-  
              dh- 要使用的SAX DefaultHandler。
- 异常
-  
              IllegalArgumentException- 如果File对象为null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic void parse(InputSource is, HandlerBase hb) throws SAXException, IOException 使用指定的HandlerBase将给定InputSource的内容解析为XML。 建议使用此方法的DefaultHandler版本,因为在SAX 2.0中不推荐使用HandlerBase类- 参数
-  
              is- 包含要解析的内容的InputSource。
-  
              hb- 要使用的SAX HandlerBase。
- 异常
-  
              IllegalArgumentException- 如果InputSource对象是null。
-  
              IOException- 如果发生任何IO错误。
-  
              SAXException- 如果在处理期间发生任何SAX错误。
- 另请参见:
-  
              DocumentHandler
 
 -  parsepublic 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
 
 -  getParserpublic abstract Parser getParser() throws SAXException 返回由此类的实现封装的SAX解析器。- 结果
- SAX解析器,由此类的实现封装。
- 异常
-  
              SAXException- 如果在处理期间发生任何SAX错误。
 
 -  getXMLReaderpublic abstract XMLReader getXMLReader() throws SAXException 返回由此类的实现封装的XMLReader。- 结果
- 由此类的实现封装的XMLReader。
- 异常
-  
              SAXException- 如果在处理期间发生任何SAX错误。
 
 -  isNamespaceAwarepublic abstract boolean isNamespaceAware() 指示此解析器是否配置为了解命名空间。- 结果
- 如果此解析器配置为了解名称空间,则为true; 否则是假的。
 
 -  isValidatingpublic abstract boolean isValidating() 指示此解析器是否配置为验证XML文档。- 结果
- 如果此解析器配置为验证XML文档,则为true;否则为false。 否则是假的。
 
 -  setPropertypublic 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的访问,外部实体引用属性指定的协议。 如果由于此属性的限制而在解析期间拒绝访问,则5128677136705将定义的解析方法将抛出- SAXException。- 设置 - XMLConstants.ACCESS_EXTERNAL_SCHEMA字段会将 schemaLocation属性设置的外部Schema访问限制为属性指定的协议。 如果由于此属性的限制而在解析期间拒绝访问,则- SAXParser定义的解析方法将抛出- SAXException。
 - 参数
-  
              name- 要设置的属性的名称。
-  
              value- 要设置的属性的值。
- 异常
-  
              SAXNotRecognizedException- 当基础XMLReader无法识别属性名称时。
-  
              SAXNotSupportedException- 当基础XMLReader识别属性名称但不支持该属性时。
- 另请参见:
-  
              XMLReader.setProperty(java.lang.String, java.lang.Object)
 
 -  getPropertypublic abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException 返回 XMLReader的底层实现中请求的特定属性。- 参数
-  
              name- 要检索的属性的名称。
- 结果
- 要求财产的价值。
- 异常
-  
              SAXNotRecognizedException- 当基础XMLReader无法识别属性名称时。
-  
              SAXNotSupportedException- 当基础XMLReader识别属性名称但不支持该属性时。
- 另请参见:
-  
              XMLReader.getProperty(java.lang.String)
 
 -  getSchemapublic Schema getSchema() 获取对XML处理器使用的 Schema的引用。如果未使用任何模式,则返回 null。- 结果
-  
              Schema被使用或null,如果没有在使用
- 异常
-  
              UnsupportedOperationException- 当实现未覆盖此方法时
- 从以下版本开始:
- 1.5
 
 -  isXIncludeAwarepublic boolean isXIncludeAware() 获取此解析器的XInclude处理模式。 - 结果
- 
               从工厂创建此解析器时 
              SAXParserFactory.isXIncludeAware()的返回值。
- 异常
-  
              UnsupportedOperationException- 实现未覆盖此方法时
- 从以下版本开始:
- 1.5
- 另请参见:
-  
              SAXParserFactory.setXIncludeAware(boolean)
 
 
-  
 
-