模块 java.xml

接口 XMLEventWriter

所有父级接口:
XMLEventConsumer

public interface XMLEventWriter extends XMLEventConsumer
这是用于编写 XML 文档的顶级接口。此接口的实例不需要验证 XML 的形式。
自从:
1.6
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    add(XMLEvent event)
    向输出流添加事件 添加 START_ELEMENT 将打开一个新的命名空间范围,该范围将在写入相应的 END_ELEMENT 时关闭。
    void
    将整个流添加到输出流,在 inputStream 参数上调用 next() 直到 hasNext() 返回 false 这应该被视为一种方便的方法,它将对事件读取器中的所有事件执行以下循环并在每个事件上调用 add事件。
    void
    释放与此流关联的任何资源
    void
    将任何缓存的事件写入底层输出机制
    返回当前命名空间上下文。
    获取 uri 绑定到的前缀
    void
    将 URI 绑定到默认命名空间 此 URI 绑定在当前 START_ELEMENT / END_ELEMENT 对的范围内。
    void
    为前缀和 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 时关闭。
      添加到编写器的事件的必选和可选字段
      事件类型 必选的字段 可选字段 要求的行为
      START_ELEMENT QName 名称 命名空间,属性 START_ELEMENT 将通过以 START_ELEMENT 的 XML 1.0 有效语法编写事件的名称、命名空间和属性来编写。该名称是通过查找名称空间 uri 的前缀来编写的。编写器可以配置为尊重 QName 的前缀。如果编写器尊重前缀,则它必须使用 QName 上设置的前缀。默认行为是在 EventWriter 的内部命名空间上下文中查找前缀的值。每个属性(如果有)都是使用此表的属性部分中指定的行为编写的。每个名称空间(如果有)都是使用此表的名称空间部分中指定的行为编写的。
      END_ELEMENT Qname 名称 没有任何 编写了格式正确的 END_ELEMENT 标记。该名称是通过查找名称空间 uri 的前缀来编写的。编写器可以配置为尊重 QName 的前缀。如果编写器尊重前缀,则它必须使用 QName 上设置的前缀。默认行为是在 EventWriter 的内部命名空间上下文中查找前缀的值。如果 END_ELEMENT 名称与 START_ELEMENT 名称不匹配,则会抛出 XMLStreamException。
      ATTRIBUTE QName 名称,字符串值 QName类型 使用与 START_ELEMENT 中使用的词法形式相同的算法编写属性。默认是使用双引号来包裹属性值并转义在值中找到的任何双引号。忽略类型值。
      NAMESPACE String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration 没有任何 编写命名空间声明。如果命名空间是默认命名空间声明(isDefault 为真),则写入 xmlns="$namespaceURI" 并且前缀是可选的。如果 isDefault 为 false,则必须声明前缀并且编写者必须将 xmlns 添加到前缀并写出标准前缀声明。
      PROCESSING_INSTRUCTION 没有任何 字符串目标,字符串数据 数据不需要存在并且可以为空。目标是必需的,许多不为空。编写器将直接在目标之后写入数据部分,并以适当的 XML 1.0 语法封装
      COMMENT 没有任何 字符串注释 如果评论存在(非空),则写入,否则写入空评论
      START_DOCUMENT 没有任何 字符串编码,独立boolean,字符串版本 不需要将 START_DOCUMENT 事件写入流。如果存在,则将属性写入适当的 XML 声明语法中
      END_DOCUMENT 没有任何 没有任何 没有任何内容写入输出
      DTD 字符串文档类型定义 没有任何 DocumentTypeDefinition 被写入输出
      指定者:
      add 在接口 XMLEventConsumer
      参数:
      event - 要添加的事件
      抛出:
      XMLStreamException - 如果发生错误
    • add

      void add(XMLEventReader  reader) throws XMLStreamException
      将整个流添加到输出流,在 inputStream 参数上调用 next() 直到 hasNext() 返回 false 这应该被视为一种方便的方法,它将对事件读取器中的所有事件执行以下循环并在每个事件上调用 add事件。
      参数:
      reader - 要添加到输出的事件流
      抛出:
      XMLStreamException - 如果发生错误
    • getPrefix

      String  getPrefix(String  uri) throws XMLStreamException
      获取 uri 绑定到的前缀
      参数:
      uri - 要查找的 uri
      返回:
      前缀
      抛出:
      XMLStreamException - 如果发生错误
    • setPrefix

      void setPrefix(String  prefix, String  uri) throws XMLStreamException
      设置 uri 绑定到的前缀。此前缀绑定在当前 START_ELEMENT / END_ELEMENT 对的范围内。如果在写入 START_ELEMENT 之前调用此方法,则前缀将绑定在根范围内。
      参数:
      prefix - 绑定到 uri 的前缀
      uri - 绑定到前缀的 uri
      抛出:
      XMLStreamException - 如果发生错误
    • setDefaultNamespace

      void setDefaultNamespace(String  uri) throws XMLStreamException
      将 URI 绑定到默认命名空间 此 URI 绑定在当前 START_ELEMENT / END_ELEMENT 对的范围内。如果在写入 START_ELEMENT 之前调用此方法,则 uri 将绑定在根范围内。
      参数:
      uri - 绑定到默认命名空间的 uri
      抛出:
      XMLStreamException - 如果发生错误
    • setNamespaceContext

      void setNamespaceContext(NamespaceContext  context) throws XMLStreamException
      为前缀和 uri 绑定设置当前命名空间上下文。此上下文成为写入的根命名空间上下文,并将替换当前的根命名空间上下文。对 setPrefix 和 setDefaultNamespace 的后续调用将使用传递给该方法的上下文作为解析名称空间的根上下文来绑定名称空间。
      参数:
      context - 用于此编写器的命名空间上下文
      抛出:
      XMLStreamException - 如果发生错误
    • getNamespaceContext

      NamespaceContext  getNamespaceContext()
      返回当前命名空间上下文。
      返回:
      当前命名空间上下文