模块 java.xml

接口 Parser

所有已知的实现类:
XMLReaderAdapter

@Deprecated (since ="1.5") public interface Parser
已弃用。
此接口已被 SAX2 XMLReader 接口取代,其中包括命名空间支持。
SAX(用于 XML 的简单 API)解析器的基本接口。

这是 SAX1 的主要事件提供者接口;它在 SAX2 中已被 XMLReader 取代,其中包括命名空间支持和复杂的可配置性和可扩展性。

所有 SAX1 解析器都必须实现这个基本接口:它允许应用程序为不同类型的事件注册处理程序并从 URI 或字符流启动解析。

所有 SAX1 解析器还必须实现零参数构造方法(尽管也允许使用其他构造方法)。

SAX1 解析器是可重用但不可重入的:一旦第一次解析成功完成,应用程序可以重用解析器对象(可能具有不同的输入源),但它可能不会在解析中递归调用 parse() 方法。

自从:
1.4, SAX 1.0
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    parse(String systemId)
    已弃用。
    从系统标识符 (URI) 解析 XML 文档。
    void
    parse(InputSource source)
    已弃用。
    解析 XML 文档。
    void
    已弃用。
    允许应用程序注册文档事件处理程序。
    void
    已弃用。
    允许应用程序注册 DTD 事件处理程序。
    void
    已弃用。
    允许应用程序注册自定义实体解析器。
    void
    已弃用。
    允许应用程序注册错误事件处理程序。
    void
    setLocale(Locale locale)
    已弃用。
    允许应用程序请求错误和警告的locale。
  • 方法详情

    • setLocale

      void setLocale(Locale  locale) throws SAXException
      已弃用。
      允许应用程序请求错误和警告的locale。

      SAX 解析器不需要为错误和警告提供本地化;但是,如果它们不能支持所请求的locale,则它们必须抛出 SAX 异常。应用程序可能不会在解析过程中请求区域设置更改。

      参数:
      locale - Java Locale 对象。
      抛出:
      SAXException - 如果不支持请求的区域设置,则抛出异常(使用以前的或默认的区域设置)。
      参见:
    • setEntityResolver

      void setEntityResolver(EntityResolver  resolver)
      已弃用。
      允许应用程序注册自定义实体解析器。

      如果应用程序没有注册实体解析器,SAX 解析器将解析系统标识符并打开与实体本身的连接(这是 HandlerBase 中实现的默认行为)。

      应用程序可以在解析过程中注册一个新的或不同的实体解析器,SAX 解析器必须立即开始使用新的解析器。

      参数:
      resolver - 用于解析实体的对象。
      参见:
    • setDTDHandler

      void setDTDHandler(DTDHandler  handler)
      已弃用。
      允许应用程序注册 DTD 事件处理程序。

      如果应用程序没有注册 DTD 处理程序,则 SAX 解析器报告的所有 DTD 事件都将被静默忽略(这是 HandlerBase 实现的默认行为)。

      应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。

      参数:
      handler - DTD 处理程序。
      参见:
    • setDocumentHandler

      void setDocumentHandler(DocumentHandler  handler)
      已弃用。
      允许应用程序注册文档事件处理程序。

      如果应用程序没有注册文档处理程序,则 SAX 解析器报告的所有文档事件都将被忽略(这是 HandlerBase 实现的默认行为)。

      应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。

      参数:
      handler - 文档处理程序。
      参见:
    • setErrorHandler

      void setErrorHandler(ErrorHandler  handler)
      已弃用。
      允许应用程序注册错误事件处理程序。

      如果应用程序没有注册错误事件处理程序,SAX 解析器报告的所有错误事件都将被静默忽略,除了 fatalError,它会抛出 SAXException(这是 HandlerBase 实现的默认行为)。

      应用程序可以在解析过程中注册一个新的或不同的处理程序,SAX 解析器必须立即开始使用新的处理程序。

      参数:
      handler - 错误处理程序。
      参见:
    • parse

      void parse(InputSource  source) throws SAXException , IOException
      已弃用。
      解析 XML 文档。

      应用程序可以使用此方法指示 SAX 解析器开始解析来自任何有效输入源(字符流、字节流或 URI)的 XML 文档。

      应用程序在解析过程中可能不会调用此方法(它们应该为每个额外的 XML 文档创建一个新的解析器)。一旦解析完成,应用程序可以重用相同的解析器对象,可能具有不同的输入源。

      参数:
      source - XML 文档顶层的输入源。
      抛出:
      SAXException - 任何 SAX 异常,可能包装另一个异常。
      IOException - 来自解析器的 IO 异常,可能来自应用程序提供的字节流或字符流。
      参见:
    • parse

      void parse(String  systemId) throws SAXException , IOException
      已弃用。
      从系统标识符 (URI) 解析 XML 文档。

      此方法是从系统标识符读取文档的常见情况的快捷方式。它完全等同于以下内容:

       parse(new InputSource(systemId));
       

      如果系统标识符是一个 URL,它必须在传递给解析器之前由应用程序完全解析。

      参数:
      systemId - 系统标识符 (URI)。
      抛出:
      SAXException - 任何 SAX 异常,可能包装另一个异常。
      IOException - 来自解析器的 IO 异常,可能来自应用程序提供的字节流或字符流。
      参见: