java.lang.Object
javax.xml.stream.XMLEventFactory
此接口定义用于创建 XMLEvents 实例的实用程序类
- 自从:
- 1.6
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract Attribute
createAttribute
(String localName, String value) 创建新属性abstract Attribute
createAttribute
(String prefix, String namespaceURI, String localName, String value) 创建新属性abstract Attribute
createAttribute
(QName name, String value) 创建新属性abstract Characters
createCData
(String content) 创建一个 CData 标志设置为 true 的 Characters 事件abstract Characters
createCharacters
(String content) 创建一个 Characters 事件,该方法不检查内容是否全部为空白。abstract Comment
createComment
(String text) 创建评论。abstract DTD
创建文档类型定义事件此字符串包含与 XML 1.0 规范中的 doctypedecl 匹配的整个文档类型声明abstract EndDocument
创建 EndDocument 事件的新实例abstract EndElement
createEndElement
(String prefix, String namespaceUri, String localName) 创建一个新的 EndElementabstract EndElement
createEndElement
(String prefix, String namespaceUri, String localName, Iterator<? extends Namespace> namespaces) 创建一个新的 EndElementabstract EndElement
createEndElement
(QName name, Iterator<? extends Namespace> namespaces) 创建一个新的 EndElementabstract EntityReference
createEntityReference
(String name, EntityDeclaration declaration) 创建 EntityReference 事件的新实例abstract Characters
createIgnorableSpace
(String content) 创建一个可忽略的空间abstract Namespace
createNamespace
(String namespaceURI) 创建一个新的默认命名空间abstract Namespace
createNamespace
(String prefix, String namespaceUri) 创建一个新的命名空间abstract ProcessingInstruction
createProcessingInstruction
(String target, String data) 创建处理指令abstract Characters
createSpace
(String content) 创建一个将 isSpace 标志设置为 true 的 Characters 事件abstract StartDocument
创建 StartDocument 事件的新实例abstract StartDocument
createStartDocument
(String encoding) 创建 StartDocument 事件的新实例abstract StartDocument
createStartDocument
(String encoding, String version) 创建 StartDocument 事件的新实例abstract StartDocument
createStartDocument
(String encoding, String version, boolean standalone) 创建 StartDocument 事件的新实例abstract StartElement
createStartElement
(String prefix, String namespaceUri, String localName) 创建一个新的 StartElement。abstract StartElement
createStartElement
(String prefix, String namespaceUri, String localName, Iterator<? extends Attribute> attributes, Iterator<? extends Namespace> namespaces) 创建一个新的 StartElement。abstract StartElement
createStartElement
(String prefix, String namespaceUri, String localName, Iterator<? extends Attribute> attributes, Iterator<? extends Namespace> namespaces, NamespaceContext context) 创建一个新的 StartElement。abstract StartElement
createStartElement
(QName name, Iterator<? extends Attribute> attributes, Iterator<? extends Namespace> namespaces) 创建一个新的 StartElement。static XMLEventFactory
创建XMLEventFactory
内置系统默认实现的新实例。static XMLEventFactory
创建工厂的新实例。static XMLEventFactory
newFactory
(String factoryId, ClassLoader classLoader) 创建工厂的新实例。static XMLEventFactory
以与newFactory()
方法完全相同的方式创建工厂的新实例。static XMLEventFactory
newInstance
(String factoryId, ClassLoader classLoader) 已弃用。此方法已被弃用以保持 API 一致性。abstract void
setLocation
(Location location) 此方法允许在此工厂创建的每个事件上设置位置。
-
构造方法详细信息
-
XMLEventFactory
protected XMLEventFactory()受保护的构造函数以防止实例化。请改用newFactory()
。
-
-
方法详情
-
newDefaultFactory
创建XMLEventFactory
内置系统默认实现的新实例。- 返回:
XMLEventFactory
内置系统默认实现的新实例。- 自从:
- 9
-
newInstance
以与newFactory()
方法完全相同的方式创建工厂的新实例。- 返回:
XMLEventFactory
的实例- 抛出:
FactoryConfigurationError
- 如果无法加载此工厂的实例
-
newFactory
创建工厂的新实例。此方法使用 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
此方法允许在此工厂创建的每个事件上设置位置。这些值按值复制到该工厂创建的事件中。要重置位置信息,请将位置设置为空。- 参数:
location
- 为每个创建的事件设置的位置
-
createAttribute
public abstract Attribute createAttribute(String prefix, String namespaceURI, String localName, String value) 创建新属性- 参数:
prefix
- 该属性的前缀,不能为空namespaceURI
- 属性值设置为此值,可能不为空localName
- 属性的XML名称的本地名称,localName不能为nullvalue
- 要设置的属性值,不能为空- 返回:
- 具有指定值的属性
-
createAttribute
创建新属性- 参数:
localName
- 属性的XML名称的本地名称,localName不能为nullvalue
- 要设置的属性值,不能为空- 返回:
- 具有指定值的属性
-
createAttribute
创建新属性- 参数:
name
- 属性的限定名称,不能为空value
- 要设置的属性值,不能为空- 返回:
- 具有指定值的属性
-
createNamespace
创建一个新的默认命名空间- 参数:
namespaceURI
- 默认命名空间 uri- 返回:
- 具有指定值的命名空间
-
createNamespace
创建一个新的命名空间- 参数:
prefix
- 此命名空间的前缀,不能为 nullnamespaceUri
- 属性值设置为此值,可能不为空- 返回:
- 具有指定值的命名空间
-
createStartElement
public abstract StartElement createStartElement(QName name, Iterator <? extends Attribute > attributes, Iterator <? extends Namespace > namespaces) 创建一个新的 StartElement。通过传入遍历一组命名空间接口的迭代器,可以将命名空间添加到此 StartElement。通过传递遍历一组 Attribute 接口的迭代器,可以将属性添加到此StartElement。- 参数:
name
- 属性的限定名称,不能为空attributes
- 一个可选的无序对象集,实现了要添加到新 StartElement 的属性,可以为 nullnamespaces
- 实现命名空间以添加到新 StartElement 的可选无序对象集,可以为 null- 返回:
- 请求的 StartElement 的实例
-
createStartElement
public abstract StartElement createStartElement(String prefix, String namespaceUri, String localName) 创建一个新的 StartElement。这会将 NamespaceContext 默认为空的 NamespaceContext。查询此事件的命名空间或属性将导致返回一个空迭代器。- 参数:
prefix
- 新 StartElement 的 QName 的前缀namespaceUri
- 新 StartElement 的 QName 的 urilocalName
- 新 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 的 urilocalName
- 新 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 的 urilocalName
- 新 StartElement 的 QName 的本地名称attributes
- 一组无序的对象,实现了要添加到新 StartElement 的属性,可能为 nullnamespaces
- 实现命名空间以添加到新 StartElement 的无序对象集,可能为 nullcontext
- 此元素的命名空间上下文- 返回:
- 请求的 StartElement 的实例
-
createEndElement
创建一个新的 EndElement- 参数:
name
- EndElement 的限定名称namespaces
- 一个可选的无序对象集,它实现了超出范围的命名空间,可能为 null- 返回:
- 请求的 EndElement 的实例
-
createEndElement
创建一个新的 EndElement- 参数:
prefix
- 新 StartElement 的 QName 的前缀namespaceUri
- 新 StartElement 的 QName 的 urilocalName
- 新 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 的 urilocalName
- 新 StartElement 的 QName 的本地名称namespaces
- 实现已超出范围的命名空间的一组无序对象,可能为 null- 返回:
- 请求的 EndElement 的实例
-
createCharacters
创建一个 Characters 事件,该方法不检查内容是否全部为空白。要创建空间事件,请使用#createSpace(String)- 参数:
content
- 要创建的字符串- 返回:
- 角色事件
-
createCData
创建一个 CData 标志设置为 true 的 Characters 事件- 参数:
content
- 要创建的字符串- 返回:
- 角色事件
-
createSpace
创建一个将 isSpace 标志设置为 true 的 Characters 事件- 参数:
content
——创建空间的内容- 返回:
- 角色事件
-
createIgnorableSpace
创建一个可忽略的空间- 参数:
content
- 创建的空间- 返回:
- 角色事件
-
createStartDocument
创建 StartDocument 事件的新实例- 返回:
- 一个 StartDocument 事件
-
createStartDocument
public abstract StartDocument createStartDocument(String encoding, String version, boolean standalone) 创建 StartDocument 事件的新实例- 参数:
encoding
- 编码风格version
- XML 版本standalone
- 独立状态可以设置为“真”或“假”- 返回:
- 一个 StartDocument 事件
-
createStartDocument
创建 StartDocument 事件的新实例- 参数:
encoding
- 编码风格version
- XML 版本- 返回:
- 一个 StartDocument 事件
-
createStartDocument
创建 StartDocument 事件的新实例- 参数:
encoding
- 编码风格- 返回:
- 一个 StartDocument 事件
-
createEndDocument
创建 EndDocument 事件的新实例- 返回:
- EndDocument 事件
-
createEntityReference
创建 EntityReference 事件的新实例- 参数:
name
- 引用的名称declaration
- 事件声明- 返回:
- EntityReference 事件
-
createComment
创建评论。- 参数:
text
- 评论的文本- 返回:
- 评论事件
-
createProcessingInstruction
创建处理指令- 参数:
target
- 处理指令的目标data
- 处理指令的文本- 返回:
- ProcessingInstruction 事件
-
createDTD
创建文档类型定义事件此字符串包含与 XML 1.0 规范中的 doctypedecl 匹配的整个文档类型声明- 参数:
dtd
- 文档类型定义的文本- 返回:
- 一个 DTD 事件
-