XmlReader.ReadContentAsObject 方法

定義

Object 的形式,讀取目前位置的文字內容。

public:
 virtual System::Object ^ ReadContentAsObject();
public virtual object ReadContentAsObject ();
abstract member ReadContentAsObject : unit -> obj
override this.ReadContentAsObject : unit -> obj
Public Overridable Function ReadContentAsObject () As Object

傳回

Object

最合適之 Common Language Runtime (CLR) 物件形式的文字內容。

例外狀況

嘗試的轉換無效。

字串格式無效。

在先前的非同步作業完成前呼叫了 XmlReader 方法。 在此情況下,會擲回 InvalidOperationException 與「非同步作業已經在進行中」的訊息。

備註

這個方法會串連文字、空白字元、重大空白字元和 CDATA 區段,並略過任何批註或處理指示。 實體參考會自動解析。

如果輸入內容,讀取器會傳回屬性所 ValueType 指定最適當類型的 Boxed CLR。 如果內容是清單類型,讀取器會傳回適當類型的 Boxed 物件陣列。

注意

如果在剖析內容時發生驗證錯誤,而且讀取器是 XmlReader 方法所 Create 建立的物件,則讀取器會將內容傳回為字串。 換句話說,當發生驗證錯誤或警告時,內容會被視為不具類型。

如果內容不具型別,則讀取器會以字串形式傳回內容。

下表描述此方法如何處理每個節點類型。

XmlNodeType 傳回值 讀取器行為
Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity
文字、CDATA、泛空白字元及顯著泛空白字元節點的串連內容會轉換為要求的型別。 移至下一個開始項目或結尾項目標記。 實體參考會自動展開。
Attribute 與在屬性值上呼叫 XmlConvert.ToXxx 相同。 讀取器會保留在目前的位置
Comment

ProcessingInstruction
忽略處理指示 (PI) 或註解,並讀取 PI 或註解後面的串連文字內容。 移至下一個開始項目或結尾項目標記。 實體參考會自動展開。
EndElement 如果讀取器是驗證讀取器的架構,則為元素的值, ValidationType (設定為 Schema) ,否則為空字串。 讀取器會保持在目前位置。
Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment
擲回 InvalidOperationException 未定義 (但讀取器通常會保持在目前位置)。

如需詳細資訊,請參閱參考頁面的 XmlReader 一節和 W3C XML 架構第 2 部分:資料類型 建議。

如需這個方法的非同步版本,請參閱 ReadContentAsObjectAsync

適用於