Module java.xml

Class XMLReaderFactory

java.lang.Object
org.xml.sax.helpers.XMLReaderFactory

@Deprecated(since="9") public final class XMLReaderFactory extends Object
Deprecated.
It is recommended to use SAXParserFactory instead.
用于创建XML阅读器的工厂。

此类包含用于根据显式类名创建XML阅读器或基于运行时默认值创建XML阅读器的静态方法:

 try {
   XMLReader myReader = XMLReaderFactory.createXMLReader();
 } catch (SAXException e) {
   System.err.println(e.getMessage());
 }
 

分发附带解析器的注意事项: 您应该修改无参数createXMLReader的实现,以处理外部配置机制尚未设置的情况。即使没有将其类名绑定到org.xml.sax.driver,该方法也应尽力返回一个解析器,以便在类路径中存在解析器时,即使没有将其类名绑定到org.xml.sax.driver,这些配置机制也能看到它。

自版本:
1.4, SAX 2.0
  • Method Details

    • createXMLReader

      public static XMLReader createXMLReader() throws SAXException
      Deprecated.
      获取一个新的XMLReader实例。此方法使用以下有序查找过程来查找和加载XMLReader实现类:
      1. 如果系统属性org.xml.sax.driver具有值,则将其用作XMLReader类名。
      2. 使用由ServiceLoader类定义的服务提供程序加载工具,尝试通过使用当前线程的上下文类加载器来定位和加载服务XMLReader的实现。如果上下文类加载器为null,则将使用系统类加载器
      3. 已弃用。在运行时可用的jar文件中的META-INF/services/org.xml.sax.driver文件中查找类名。
      4. 否则,返回系统默认实现。

      API 注意:
      在jar文件中查找META-INF/services/org.xml.sax.driver文件中的类名的过程不符合ServiceLoader中定义的服务提供程序加载工具的规范,因此不支持模块化。自Java SE 9起已弃用,并可能在将来的版本中删除。
      返回:
      一个新的XMLReader。
      抛出:
      SAXException - 如果无法识别和实例化默认的XMLReader类。
      参见:
    • createXMLReader

      public static XMLReader createXMLReader(String className) throws SAXException
      Deprecated.
      尝试根据类名创建XML阅读器。

      给定一个类名,此方法尝试将该类作为XML阅读器加载和实例化。

      请注意,在不允许调用者(可能是一个小程序)动态加载类的环境中,此方法将无法使用。

      参数:
      className - 一个类名
      返回:
      一个新的XML阅读器。
      抛出:
      SAXException - 如果无法加载、实例化和转换为XMLReader类。
      参见: