Module java.xml
Package org.xml.sax

Interface Parser

所有已知的实现类:
XMLReaderAdapter

@Deprecated(since="1.5") public interface Parser
Deprecated.
This interface has been replaced by the SAX2 XMLReader interface, which includes Namespace support.
SAX(Simple API for XML)解析器的基本接口。

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

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

所有SAX1解析器还必须实现一个无参数构造函数(尽管也允许其他构造函数)。

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

自版本:
1.4, SAX 1.0
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    parse(String systemId)
    已弃用。
    从系统标识符(URI)解析XML文档。
    void
    parse(InputSource source)
    已弃用。
    解析XML文档。
    void
    已弃用。
    允许应用程序注册文档事件处理程序。
    void
    已弃用。
    允许应用程序注册DTD事件处理程序。
    void
    已弃用。
    允许应用程序注册自定义实体解析器。
    void
    已弃用。
    允许应用程序注册错误事件处理程序。
    void
    setLocale(Locale locale)
    已弃用。
    允许应用程序请求错误和警告的区域设置。
  • Method Details

    • setLocale

      void setLocale(Locale locale) throws SAXException
      Deprecated.
      允许应用程序请求错误和警告的区域设置。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      void parse(InputSource source) throws SAXException, IOException
      Deprecated.
      解析XML文档。

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

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

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

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

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

       parse(new InputSource(systemId));
       

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

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