JavaTM Platform
Standard Ed. 6

javax.xml.stream
接口 XMLEventWriter

所有超级接口:
XMLEventConsumer

public interface XMLEventWriter
extends XMLEventConsumer

此类是用于编写 XML 文档的顶层接口。此接口的实例不需要验证 XML 的格式。

从以下版本开始:
1.6
另请参见:
XMLEventReader, XMLEvent, Characters, ProcessingInstruction, StartElement, EndElement

方法摘要
 void add(XMLEvent event)
          向输出流添加事件。
 void add(XMLEventReader reader)
          将整个流添加到输出流,在 hasNext() 返回 false 前对 inputStream 参数调用 next()。
 void close()
          释放所有与此流关联的资源。
 void flush()
          将所有缓存事件写入到底层输出机制。
 NamespaceContext getNamespaceContext()
          返回当前名称空间上下文。
 String getPrefix(String uri)
          获取绑定 URI 的前缀。
 void setDefaultNamespace(String uri)
          将 URI 绑定到默认名称空间。
 void setNamespaceContext(NamespaceContext context)
          设置前缀的当前名称空间上下文和 URI 绑定。
 void setPrefix(String prefix, String uri)
          设置绑定 URI 的前缀。
 

方法详细信息

flush

void flush()
           throws XMLStreamException
将所有缓存事件写入到底层输出机制。

抛出:
XMLStreamException

close

void close()
           throws XMLStreamException
释放所有与此流关联的资源。

抛出:
XMLStreamException

add

void add(XMLEvent event)
         throws XMLStreamException
向输出流添加事件。添加 START_ELEMENT 将打开新的名称空间作用域,它将在写入相应的 END_ELEMENT 时被关闭。
添加到 writer 的事件的必需字段和可选字段
事件类型 必需字段 可选字段 必需行为
START_ELEMENT QName name namespace、attribute 通过用 XML 1.0 中对 START_ELEMENT 有效的语法写入事件的名称、名称空间和属性来编写 START_ELEMENT。名称是通过查找名称空间 URI 的前缀写入的。writer 可以配置为考虑 QName 的前缀。如果 writer 考虑前缀,则它必须使用在 QName 中设置的前缀。默认行为是在 EventWriter 的内部名称空间上下文中查找前缀的值。每个属性(如果有)使用在此表的属性部分所指定的行为写入。每个名称空间(如果有)使用在此表的名称空间部分所指定的行为写入。
END_ELEMENT Qname name 写入一个格式良好的 END_ELEMENT 标记。名称是通过查找名称空间 URI 的前缀写入的。writer 可以配置为考虑 QName 的前缀。如果 writer 考虑前缀,则它必须使用在 QName 中设置的前缀。默认行为是在 EventWriter 的内部名称空间上下文中查找前缀的值。如果 END_ELEMENT 名称和 START_ELEMENT 名称不匹配,则抛出 XMLStreamException。
ATTRIBUTE QName name、String value QName type 使用同样的算法写入属性,以根据 START_ELEMENT 中使用的词法查找词法格式。默认行为是使用双引号将属性值括起来并转义出现在值中的所有双引号。类型值被忽略。
NAMESPACE String prefix、String namespaceURI、boolean isDefaultNamespaceDeclaration 写入一个名称空间声明。如果名称空间是默认名称空间声明(isDefault 为 true),则写入 xmlns="$namespaceURI",前缀是可选项。如果 isDefault 为 false,则必须声明前缀,writer 必须将 xmlns 附加为前缀并写出一个标准前缀声明。
PROCESSING_INSTRUCTION String target、String data 数据不需要附加前缀,可以为 null。目标是必需的,不可以为 null。writer 将直接在目标之后编写数据部分,并用合适的 XML 1.0 语法封闭起来
COMMENT String comment 如果存在注释(不为 null),则写入该注释,否则写入一个空注释
START_DOCUMENT String encoding、boolean standalone、String version 不需要将 START_DOCUMENT 事件写入流。如果存在,则属性以适当的 XML 声明语法写入
END_DOCUMENT 不向输出写入任何内容
DTD String DocumentT