JavaTM 2 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 DocumentTypeDefinition DocumentTypeDefinition 被寫入輸出

指定者:
介面 XMLEventConsumer 中的 add
參數:
event - 要被添加的事件
拋出:
XMLStreamException

add

void add(XMLEventReader reader)
         throws XMLStreamException
將整個串流添加到輸出串流,在 hasNext() 返回 false 前對 inputStream 參數調用 next()。此方法應被視為一個便捷方法,它將在事件 reader 中的所有事件中執行以下循環,並對每個事件上調用 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 - 要用於此 writer 的名稱空間上下文
拋出:
XMLStreamException

getNamespaceContext

NamespaceContext getNamespaceContext()
返回當前名稱空間上下文。

返回:
當前名稱空間上下文

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only