讀取內容
更新: November 2007
XmlReader 類別包括可用於讀取內容的成員。
注意事項: |
---|
此主題中說明的成員會傳回內容做為字串值。如果要讀取具型別內容,請參閱 讀取具型別的資料。 |
值屬性
Value 屬性可用於取得目前節點的文字內容。傳回的值取決於目前節點的節點型別。下表說明為每個可能的節點型別傳回的內容。
節點型別 |
值 |
---|---|
Attribute |
屬性的值。 |
CDATA |
CDATA 區段的內容。 |
Comment |
註解的內容。 |
DocumentType |
內部子集。 |
ProcessingInstruction |
全部內容 (目標除外)。 |
SignificantWhitespace |
混合內容模型中任何標記之間的泛空白字元。 |
Text |
文字節點的內容。 |
Whitespace |
標記之間的泛空白字元。 |
XmlDeclaration |
宣告的內容。 |
其他所有的節點型別 |
空字串。 |
ReadString 方法
ReadString 方法會傳回項目或文字節點的內容做為字串。
如果 XmlReader 定位於項目上,則 ReadString 會將所有文字、顯著泛空白字元、泛空白字元及 CDATA 區段節點串連起來,並傳回串連的資料做為項目內容。讀取器會在遇到任何標記時停止。這可能會發生於混合內容模型中,或是讀取項目結束標記時。
如果 XmlReader 定位於文字節點上,則 ReadString 會執行文字、顯著泛空白字元、泛空白字元及 CDATA 區段節點的相同串連。讀取器會在非先前具名型別的第一個節點上停止。如果讀取器定位於屬性文字節點上,則 ReadString 具有相同的功能,就像讀取器定位於項目開始標記上一樣。它會傳回所有串連的項目文字節點。
注意事項: |
---|
ReadString 方法會在處理指令及註解時停止。但不會忽略它們。 |
ReadInnerXml 方法
ReadInnerXml 方法會傳回目前節點的所有內容,包括標記。不會傳回目前節點 (開始標記) 及對應的結束節點 (結束標記)。例如,如果您具有 XML 字串 <node>this<child id="123"/></node>,則 ReadInnerXml 會傳回 this<child id="123"/>。
下表說明如何處理項目及屬性節點。
節點型別 |
初始 位置 |
XML 片段 |
傳回 值 |
呼叫後 的位置 |
---|---|---|---|---|
Element |
在 item1 開始標記上。 |
<item1>text1</item1><item2>text2</item2> |
text1 |
在 item2 開始標記上。 |
Attribute |
在 attr1 屬性節點上。 |
<item attr1="val1" attr2="val2">text</item> |
val1 |
保留在 attr1 屬性節點上。 |
如果讀取器定位於分葉節點上,則呼叫 ReadInnerXml 相當於呼叫 Read。
ReadOuterXml 方法
ReadOuterXml 方法會傳回目前節點及其所有子系的所有 XML 內容 (包括標記)。其行為與 ReadInnerXml 類似,只不過它還會傳回開始及結束標記。
如果使用上述表格中的值,且讀取器定位於 item1 開始標記上,則 ReadOuterXml 會傳回 <item1>text1</item1>。如果讀取器定位於 attr1 屬性節點上,則 ReadOuterXml 會傳回 attr1="val1"。