所有类


javax.xml.parsers
类 SAXParser

java.lang.Object
  继承者 javax.xml.parsers.SAXParser

public abstract class SAXParser
   
   
   
   
extends Object

定义包装 XMLReader 实现类的 API。在 JAXP 1.0 中,此类包装 Parser 接口,但是此接口由 XMLReader 取代。为了便于过渡,此类继续支持相同的名称和接口,并支持新方法。 此类的实例可以从 SAXParserFactory.newSAXParser() 方法获得。获取此类的实例之后,将可以从各种输入源解析 XML。这些输入源为 InputStream、File、URL 和 SAX InputSource。

此静态方法根据系统属性设置创建新的工厂实例,如果未定义属性,则使用平台默认值。

控制创建哪个工厂实现的系统属性命名为 "javax.xml.parsers.SAXParserFactory"。此属性命名一个类,该类为此抽象类的具体子类。如果未定义属性,将使用默认的平台。

由于内容由基础解析器解析,因此将调用给定 HandlerBaseDefaultHandler 的方法。

包装基础实现的此类的实现程序可以考虑使用 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 不能保证具有相同的 Schema Object,如 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 - 如果给定的 InputStreamnull
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

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部