模块  java.xml
软件包  javax.xml.stream

Class XMLEventFactory

    • 构造方法详细信息

      • XMLEventFactory

        protected XMLEventFactory()
    • 方法详细信息

      • newDefaultFactory

        public static XMLEventFactory newDefaultFactory()
        创建 XMLEventFactory内置系统默认实现的新实例。
        结果
        XMLEventFactory内置系统默认实现的新实例。
        从以下版本开始:
        9
      • newFactory

        public static XMLEventFactory newFactory()
                                          throws FactoryConfigurationError
        创建工厂的新实例。

        此静态方法创建新的工厂实例。 此方法使用以下有序查找过程来确定要加载的XMLEventFactory实现类:

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

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

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

        • 使用由ServiceLoader类定义的服务提供者加载工具尝试使用default loading mechanism查找和加载服务的实现 :服务提供者加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null,则将使用system class loader

        • 否则,返回system-default实现。

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

        异常
        FactoryConfigurationError - 如果是service configuration error,或者如果实现不可用或无法实例化。
      • newFactory

        public static XMLEventFactory newFactory​(String factoryId,
                                                 ClassLoader classLoader)
                                          throws FactoryConfigurationError
        创建工厂的新实例。 如果classLoader参数为null,则使用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类,试图locate and load使用指定的服务的实现ClassLoader 如果classLoader为空,则将应用default loading mechanism :即,服务提供商加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null,则将使用system class loader

        • 否则,抛出一个FactoryConfigurationError

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

        API Note:
        此处定义的参数factoryId与其他JAXP工厂的参数不一致,其中第一个参数是提供工厂实现的完全限定工厂类名。
        参数
        factoryId - 要查找的工厂的名称,与属性名称相同
        classLoader - 要使用的classLoader
        结果
        工厂实施
        异常
        FactoryConfigurationError - 如果是service configuration error,或者如果实现不可用或无法实例化。
      • setLocation

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

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

        public abstract Attribute createAttribute​(String localName,
                                                  String value)
        创建一个新属性
        参数
        localName - 属性的XML名称的本地名称,localName不能为null
        value - 要设置的属性值,可能不为null
        结果
        具有指定值的属性
      • createAttribute

        public abstract Attribute createAttribute​(QName name,
                                                  String value)
        创建一个新属性
        参数
        name - 属性的限定名称,不能为null
        value - 要设置的属性值,可能不为null
        结果
        具有指定值的属性
      • createNamespace

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

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

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

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

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

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

        public abstract EndElement createEndElement​(String prefix,
                                                    String namespaceUri,
                                                    String localName,
                                                    Iterator<? extends Namespace> namespaces)
        创建一个新的EndElement
        参数
        namespaceUri - 新StartElement的QName的uri
        localName - 新StartElement的QName的本地名称
        prefix - 新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 - 独立状态可以设置为“true”或“false”
        结果
        一个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事件