模块 java.xml

类 XMLEventFactory

java.lang.Object
javax.xml.stream.XMLEventFactory

public abstract class XMLEventFactory extends Object
此接口定义用于创建 XMLEvents 实例的实用程序类
自从:
1.6
参见:
  • 构造方法详细信息

    • XMLEventFactory

      protected XMLEventFactory()
      受保护的构造函数以防止实例化。请改用 newFactory()
  • 方法详情

    • newDefaultFactory

      public static XMLEventFactory  newDefaultFactory()
      创建 XMLEventFactory 内置系统默认实现的新实例。
      返回:
      XMLEventFactory 内置系统默认实现的新实例。
      自从:
      9
    • newInstance

      public static XMLEventFactory  newInstance() throws FactoryConfigurationError
      以与 newFactory() 方法完全相同的方式创建工厂的新实例。
      返回:
      XMLEventFactory 的实例
      抛出:
      FactoryConfigurationError - 如果无法加载此工厂的实例
    • newFactory

      public static XMLEventFactory  newFactory() throws FactoryConfigurationError
      创建工厂的新实例。此方法使用 JAXP 查找机制 来确定要加载的 XMLEventFactory 实现类。

      一旦应用程序获得了对 XMLEventFactory 的引用,它就可以使用工厂来配置和获取流实例。

      返回:
      XMLEventFactory 的实例
      抛出:
      FactoryConfigurationError - 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
    • newInstance

      @Deprecated (since ="1.7") public static XMLEventFactory  newInstance(String  factoryId, ClassLoader  classLoader) throws FactoryConfigurationError
      已弃用。
      此方法已被弃用以保持 API 一致性。所有 newInstance 方法都已替换为相应的 newFactory 方法。替换 newFactory(java.lang.String, java.lang.ClassLoader) 方法没有定义任何行为变化。
      创建工厂的新实例
      参数:
      factoryId - 要查找的工厂名称,与属性名称相同
      classLoader - 要使用的类加载器
      返回:
      工厂实现
      抛出:
      FactoryConfigurationError - 如果无法加载此工厂的实例
    • newFactory

      public static XMLEventFactory  newFactory(String  factoryId, ClassLoader  classLoader) throws FactoryConfigurationError
      创建工厂的新实例。如果 classLoader 参数为空,则使用 ContextClassLoader。

      此方法使用以下有序查找过程来确定要加载的 XMLEventFactory 实现类:

      • 使用 factoryId 标识的系统属性的值。
      • 使用配置文件“stax.properties”。该文件采用标准 Properties 格式,通常位于 Java 安装的 conf 目录中。它包含实现类的完全限定名称,键是上面定义的系统属性。

        stax.properties 文件仅由实现读取一次,然后缓存其值以备将来使用。如果在第一次尝试读取文件时该文件不存在,则不会进一步尝试检查其是否存在。第一次读取 stax.properties 中的任何属性后,就无法更改其值。

        使用 jaxp 配置文件“jaxp.properties”。该文件的格式与 stax.properties 相同,只有在 stax.properties 不存在时才会被读取。

      • 如果 factoryId 是“javax.xml.stream.XMLEventFactory”,则使用由 ServiceLoader 类定义的服务提供商加载工具,尝试使用指定的 ClassLoader 定位并加载 实现服务。如果 classLoader 为空,则 默认加载机制 将适用:也就是说,服务提供商加载工具将使用 当前线程的上下文类加载器 尝试加载服务。如果上下文类加载器为 null,则将使用 系统类加载器

      • 否则,抛出一个 FactoryConfigurationError

      请注意,这是一种替代已弃用的 newInstance(String factoryId, ClassLoader classLoader) 方法的新方法。相对于已弃用的方法,此替换方法未定义任何行为更改。

      API 注意:
      此处定义的参数 factoryId 与其他 JAXP 工厂的参数不一致,其中第一个参数是提供工厂实现的完全限定工厂类名。
      参数:
      factoryId - 要查找的工厂名称,与属性名称相同
      classLoader - 要使用的类加载器
      返回:
      工厂实现
      抛出:
      FactoryConfigurationError - 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
    • setLocation

      public abstract void setLocation(Location  location)
      此方法允许在此工厂创建的每个事件上设置位置。这些值按值复制到该工厂创建的事件中。要重置位置信息,请将位置设置为空。
      参数:
      location - 为每个创建的事件设置的位置
    • createAttribute

      public abstract Attribute  createAttribute(String  prefix, String  namespaceURI, String  localName, String  value)
      创建新属性
      参数:
      prefix - 该属性的前缀,不能为空
      namespaceURI - 属性值设置为此值,可能不为空
      localName - 属性的XML名称的本地名称,localName不能为null
      value - 要设置的属性值,不能为空
      返回:
      具有指定值的属性
    • createAttribute

      public abstract Attribute  createAttribute(String  localName, String  value)
      创建新属性
      参数:
      localName - 属性的XML名称的本地名称,localName不能为null
      value - 要设置的属性值,不能为空
      返回:
      具有指定值的属性
    • createAttribute

      public abstract Attribute  createAttribute(QName  name, String  value)
      创建新属性
      参数:
      name - 属性的限定名称,不能为空
      value - 要设置的属性值,不能为空
      返回:
      具有指定值的属性
    • createNamespace

      public abstract Namespace  createNamespace(String  namespaceURI)
      创建一个新的默认命名空间
      参数:
      namespaceURI - 默认命名空间 uri
      返回:
      具有指定值的命名空间
    • createNamespace

      public abstract Namespace  createNamespace(String  prefix, String  namespaceUri)
      创建一个新的命名空间
      参数:
      prefix - 此命名空间的前缀,不能为 null
      namespaceUri - 属性值设置为此值,可能不为空
      返回:
      具有指定值的命名空间
    • createStartElement

      public abstract StartElement  createStartElement(QName  name, Iterator <? extends Attribute > attributes, Iterator <? extends Namespace > namespaces)
      创建一个新的 StartElement。通过传入遍历一组命名空间接口的迭代器,可以将命名空间添加到此 StartElement。通过传递遍历一组 Attribute 接口的迭代器,可以将属性添加到此StartElement。
      参数:
      name - 属性的限定名称,不能为空
      attributes - 一个可选的无序对象集,实现了要添加到新 StartElement 的属性,可以为 null
      namespaces - 实现命名空间以添加到新 StartElement 的可选无序对象集,可以为 null
      返回:
      请求的 StartElement 的实例
    • createStartElement

      public abstract StartElement  createStartElement(String  prefix, String  namespaceUri, String  localName)
      创建一个新的 StartElement。这会将 NamespaceContext 默认为空的 NamespaceContext。查询此事件的命名空间或属性将导致返回一个空迭代器。
      参数:
      prefix - 新 StartElement 的 QName 的前缀
      namespaceUri - 新 StartElement 的 QName 的 uri
      localName - 新 StartElement 的 QName 的本地名称
      返回:
      请求的 StartElement 的实例
    • createStartElement

      public abstract StartElement  createStartElement(String  prefix, String  namespaceUri, String  localName, Iterator <? extends Attribute > attributes, Iterator <? extends Namespace > namespaces)
      创建一个新的 StartElement。通过传入遍历一组命名空间接口的迭代器,可以将命名空间添加到此 StartElement。通过传递遍历一组 Attribute 接口的迭代器,可以将属性添加到此StartElement。
      参数:
      prefix - 新 StartElement 的 QName 的前缀
      namespaceUri - 新 StartElement 的 QName 的 uri
      localName - 新 StartElement 的 QName 的本地名称
      attributes - 一组无序对象,实现了要添加到新 StartElement 的属性
      namespaces - 一组无序的对象,实现命名空间以添加到新的 StartElement
      返回:
      请求的 StartElement 的实例
    • createStartElement

      public abstract StartElement  createStartElement(String  prefix, String  namespaceUri, String  localName, Iterator <? extends Attribute > attributes, Iterator <? extends Namespace > namespaces, NamespaceContext  context)
      创建一个新的 StartElement。通过传入遍历一组命名空间接口的迭代器,可以将命名空间添加到此 StartElement。通过传递遍历一组 Attribute 接口的迭代器,可以将属性添加到此StartElement。
      参数:
      prefix - 新 StartElement 的 QName 的前缀
      namespaceUri - 新 StartElement 的 QName 的 uri
      localName - 新 StartElement 的 QName 的本地名称
      attributes - 一组无序的对象,实现了要添加到新 StartElement 的属性,可能为 null
      namespaces - 实现命名空间以添加到新 StartElement 的无序对象集,可能为 null
      context - 此元素的命名空间上下文
      返回:
      请求的 StartElement 的实例
    • createEndElement

      public abstract EndElement  createEndElement(QName  name, Iterator <? extends Namespace > namespaces)
      创建一个新的 EndElement
      参数:
      name - EndElement 的限定名称
      namespaces - 一个可选的无序对象集,它实现了超出范围的命名空间,可能为 null
      返回:
      请求的 EndElement 的实例
    • createEndElement

      public abstract EndElement  createEndElement(String  prefix, String  namespaceUri, String  localName)
      创建一个新的 EndElement
      参数:
      prefix - 新 StartElement 的 QName 的前缀
      namespaceUri - 新 StartElement 的 QName 的 uri
      localName - 新 StartElement 的 QName 的本地名称
      返回:
      请求的 EndElement 的实例
    • createEndElement

      public abstract EndElement  createEndElement(String  prefix, String  namespaceUri, String  localName, Iterator <? extends Namespace > namespaces)
      创建一个新的 EndElement
      参数:
      prefix - 新 StartElement 的 QName 的前缀
      namespaceUri - 新 StartElement 的 QName 的 uri
      localName - 新 StartElement 的 QName 的本地名称
      namespaces - 实现已超出范围的命名空间的一组无序对象,可能为 null
      返回:
      请求的 EndElement 的实例
    • createCharacters

      public abstract Characters  createCharacters(String  content)
      创建一个 Characters 事件,该方法不检查内容是否全部为空白。要创建空间事件,请使用#createSpace(String)
      参数:
      content - 要创建的字符串
      返回:
      角色事件
    • createCData

      public abstract Characters  createCData(String  content)
      创建一个 CData 标志设置为 true 的 Characters 事件
      参数:
      content - 要创建的字符串
      返回:
      角色事件
    • createSpace

      public abstract Characters  createSpace(String  content)
      创建一个将 isSpace 标志设置为 true 的 Characters 事件
      参数:
      content——创建空间的内容
      返回:
      角色事件
    • createIgnorableSpace

      public abstract Characters  createIgnorableSpace(String  content)
      创建一个可忽略的空间
      参数:
      content - 创建的空间
      返回:
      角色事件
    • createStartDocument

      public abstract StartDocument  createStartDocument()
      创建 StartDocument 事件的新实例
      返回:
      一个 StartDocument 事件
    • createStartDocument

      public abstract StartDocument  createStartDocument(String  encoding, String  version, boolean standalone)
      创建 StartDocument 事件的新实例
      参数:
      encoding - 编码风格
      version - XML 版本
      standalone - 独立状态可以设置为“真”或“假”
      返回:
      一个 StartDocument 事件
    • createStartDocument

      public abstract StartDocument  createStartDocument(String  encoding, String  version)
      创建 StartDocument 事件的新实例
      参数:
      encoding - 编码风格
      version - XML 版本
      返回:
      一个 StartDocument 事件
    • createStartDocument

      public abstract StartDocument  createStartDocument(String  encoding)
      创建 StartDocument 事件的新实例
      参数:
      encoding - 编码风格
      返回:
      一个 StartDocument 事件
    • createEndDocument

      public abstract EndDocument  createEndDocument()
      创建 EndDocument 事件的新实例
      返回:
      EndDocument 事件
    • createEntityReference

      public abstract EntityReference  createEntityReference(String  name, EntityDeclaration  declaration)
      创建 EntityReference 事件的新实例
      参数:
      name - 引用的名称
      declaration - 事件声明
      返回:
      EntityReference 事件
    • createComment

      public abstract Comment  createComment(String  text)
      创建评论。
      参数:
      text - 评论的文本
      返回:
      评论事件
    • createProcessingInstruction

      public abstract ProcessingInstruction  createProcessingInstruction(String  target, String  data)
      创建处理指令
      参数:
      target - 处理指令的目标
      data - 处理指令的文本
      返回:
      ProcessingInstruction 事件
    • createDTD

      public abstract DTD  createDTD(String  dtd)
      创建文档类型定义事件此字符串包含与 XML 1.0 规范中的 doctypedecl 匹配的整个文档类型声明
      参数:
      dtd - 文档类型定义的文本
      返回:
      一个 DTD 事件