java.lang.Object
javax.xml.stream.XMLEventFactory
该接口定义了一个用于创建XMLEvents实例的实用程序类。
- 自:
- 1.6
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract 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) 此方法允许在由此工厂创建的每个事件上设置位置。
-
Constructor Details
-
XMLEventFactory
protected XMLEventFactory()保护构造函数,防止实例化。请改用newFactory()
。
-
-
Method Details
-
newDefaultFactory
创建XMLEventFactory
内置系统默认实现的新实例。- 返回:
-
XMLEventFactory
内置系统默认实现的新实例。 - 自:
- 9
-
newInstance
以与newFactory()
方法完全相同的方式创建工厂的新实例。- 返回:
-
XMLEventFactory
的一个实例 - 抛出:
-
FactoryConfigurationError
- 如果无法加载此工厂的实例
-
newFactory
创建工厂的新实例。此方法使用JAXP Lookup Mechanism来确定要加载的XMLEventFactory
实现类。一旦应用程序获得了对
XMLEventFactory
的引用,就可以使用工厂来配置和获取流实例。- 返回:
-
XMLEventFactory
的一个实例 - 抛出:
-
FactoryConfigurationError
- 如果存在服务配置错误,或者实现不可用或无法实例化。
-
newInstance
@Deprecated(since="1.7") public static XMLEventFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError Deprecated.This method has been deprecated to maintain API consistency. All newInstance methods have been replaced with corresponding newFactory methods. The replacementnewFactory(java.lang.String, java.lang.ClassLoader)
method defines no changes in behavior.创建工厂的新实例- 参数:
-
factoryId
- 要查找的工厂的名称,与属性名称相同 -
classLoader
- 要使用的类加载器 - 返回:
- 工厂实现
- 抛出:
-
FactoryConfigurationError
- 如果无法加载此工厂的实例
-
newFactory
public static XMLEventFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError 创建工厂的新实例。如果classLoader参数为null,则使用ContextClassLoader。此方法使用以下有序查找过程来确定要加载的XMLEventFactory实现类:
- 使用由
factoryId
标识的系统属性的值。 -
使用配置文件中设置的属性
factoryId
的值,默认情况下为jaxp.properties。如果文件存在并且文件中指定了属性factoryId
,则其值将用作实现类。 -
如果
factoryId
为"javax.xml.stream.XMLEventFactory",则使用由ServiceLoader
类定义的服务提供程序加载机制,尝试使用指定的ClassLoader
定位和加载服务的实现。如果classLoader
为null,则将应用默认加载机制:即,服务提供程序加载设施将使用当前线程的上下文类加载器来尝试加载服务。如果上下文类加载器为null,则将使用系统类加载器。 -
否则,抛出
FactoryConfigurationError
。
请注意,这是一个替代已弃用的
newInstance(String factoryId, ClassLoader classLoader)
方法的新方法。相对于已弃用的方法,此替换方法未定义行为上的任何更改。- API注释:
- 此处定义的factoryId参数与其他JAXP工厂的参数不一致,其他工厂的第一个参数是提供工厂实现的完全限定工厂类名。
- 参数:
-
factoryId
- 要查找的工厂的名称,与属性名称相同 -
classLoader
- 要使用的类加载器 - 返回:
- 工厂实现
- 抛出:
-
FactoryConfigurationError
- 如果存在服务配置错误,或者实现不可用或无法实例化。
- 使用由
-
setLocation
此方法允许在由此工厂创建的每个事件上设置位置。这些值按值复制到由此工厂创建的事件中。要重置位置信息,请将位置设置为null。- 参数:
-
location
- 要在创建的每个事件上设置的位置
-
createAttribute
public abstract Attribute createAttribute(String prefix, String namespaceURI, String localName, String value) 创建一个新的属性- 参数:
-
prefix
- 此属性的前缀,不能为空 -
namespaceURI
- 属性值设置为此值,不能为空 -
localName
- 属性的XML名称的本地名称,localName不能为空 -
value
- 要设置的属性值,不能为空 - 返回:
- 具有指定值的属性
-
createAttribute
创建一个新的属性- 参数:
-
localName
- 属性的XML名称的本地名称,localName不能为空 -
value
- 要设置的属性值,不能为空 - 返回:
- 具有指定值的属性
-
createAttribute
创建一个新的属性- 参数:
-
name
- 属性的限定名称,不能为空 -
value
- 要设置的属性值,不能为空 - 返回:
- 具有指定值的属性
-
createNamespace
创建一个新的默认命名空间- 参数:
-
namespaceURI
- 默认命名空间URI - 返回:
- 具有指定值的命名空间
-
createNamespace
创建一个新的命名空间- 参数:
-
prefix
- 此命名空间的前缀,不能为空 -
namespaceUri
- 属性值设置为此值,不能为空 - 返回:
- 具有指定值的命名空间
-
createStartElement
public abstract StartElement createStartElement(QName name, Iterator<? extends Attribute> attributes, Iterator<? extends Namespace> namespaces) 创建一个新的StartElement。可以通过传入遍历一组Namespace接口的迭代器来向此StartElement添加命名空间。可以通过传入遍历一组Attribute接口的迭代器来向此StartElement添加属性。- 参数:
-
name
- 属性的限定名称,不能为空 -
attributes
- 一个可选的无序对象集合,实现了Attribute接口,用于添加到新的StartElement中,可以为空 -
namespaces
- 一个可选的无序对象集合,实现了Namespace接口,用于添加到新的StartElement中,可以为空 - 返回:
- 请求的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。可以通过传入遍历一组Namespace接口的迭代器来向此StartElement添加命名空间。可以通过传入遍历一组Attribute接口的迭代器来向此StartElement添加属性。- 参数:
-
prefix
- 新StartElement的QName的前缀 -
namespaceUri
- 新StartElement的QName的URI -
localName
- 新StartElement的QName的本地名称 -
attributes
- 一个无序对象集合,实现了Attribute接口,用于添加到新的StartElement中 -
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接口的迭代器来向此StartElement添加命名空间。可以通过传入遍历一组Attribute接口的迭代器来向此StartElement添加属性。- 参数:
-
prefix
- 新StartElement的QName的前缀 -
namespaceUri
- 新StartElement的QName的URI -
localName
- 新StartElement的QName的本地名称 -
attributes
- 一个无序对象集合,实现了Attribute接口,用于添加到新的StartElement中,可以为空 -
namespaces
- 一个无序对象集合,实现了Namespace接口,用于添加到新的StartElement中,可以为空 -
context
- 此元素的命名空间上下文 - 返回:
- 请求的StartElement的实例
-
createEndElement
创建一个新的EndElement- 参数:
-
name
- EndElement的限定名称 -
namespaces
- 一个可选的无序对象集合,实现了Namespace接口,已经超出范围,可以为空 - 返回:
- 请求的EndElement的实例
-
createEndElement
创建一个新的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
- 一个无序对象集合,实现了Namespace接口,已经超出范围,可以为空 - 返回:
- 请求的EndElement的实例
-
createCharacters
创建一个Characters事件,此方法不检查内容是否全为空格。要创建一个空格事件,请使用#createSpace(String)- 参数:
-
content
- 要创建的字符串 - 返回:
- 一个Characters事件
-
createCData
创建一个带有CData标志设置为true的Characters事件- 参数:
-
content
- 要创建的字符串 - 返回:
- 一个Characters事件
-
createSpace
创建一个带有isSpace标志设置为true的Characters事件- 参数:
-
content
- 要创建的空格内容 - 返回:
- 一个Characters事件
-
createIgnorableSpace
创建一个可忽略的空格- 参数:
-
content
- 要创建的空格 - 返回:
- 一个Characters事件
-
createStartDocument
创建一个StartDocument事件的新实例- 返回:
- 一个StartDocument事件
-
createStartDocument
public abstract StartDocument createStartDocument(String encoding, String version, boolean standalone) 创建一个StartDocument事件的新实例- 参数:
-
encoding
- 编码样式 -
version
- XML版本 -
standalone
- 独立状态可能设置为"true"或"false" - 返回:
- 一个StartDocument事件
-
createStartDocument
创建一个StartDocument事件的新实例- 参数:
-
encoding
- 编码样式 -
version
- XML版本 - 返回:
- 一个StartDocument事件
-
createStartDocument
创建一个StartDocument事件的新实例- 参数:
-
encoding
- 编码样式 - 返回:
- 一个StartDocument事件
-
createEndDocument
创建一个EndDocument事件的新实例- 返回:
- 一个EndDocument事件
-
createEntityReference
创建一个EntityReference事件的新实例- 参数:
-
name
- 引用的名称 -
declaration
- 事件的声明 - 返回:
- 一个EntityReference事件
-
createComment
创建一个注释。- 参数:
-
text
- 注释的文本 - 返回:
- 一个Comment事件
-
createProcessingInstruction
创建一个处理指令- 参数:
-
target
- 处理指令的目标 -
data
- 处理指令的文本 - 返回:
- 一个ProcessingInstruction事件
-
createDTD
创建一个文档类型定义事件。此字符串包含整个与XML 1.0规范中的doctypedecl匹配的文档类型声明- 参数:
-
dtd
- 文档类型定义的文本 - 返回:
- 一个DTD事件
-