XElement 和 XDocument 物件的有效內容
更新: November 2007
本主題說明可以傳遞給用於將內容加入至項目和文件之建構函式 (Constructor) 和方法的有效引數。
有效內容
查詢通常會評估成 XElement 的 IEnumerable<T> 或 XAttribute 的 IEnumerable<T>。您可以將 XElement 或 XAttribute 物件的集合傳遞給 XElement 建構函式。因此,將查詢的結果當做內容傳入您用來填入 XML 樹狀結構的方法和建構函式會相當方便。
加入簡單內容時,可以將各種型別傳遞到這個方法。有效的型別包括:
任何實作 ToString() 的型別。
任何實作 IEnumerable<T> 的型別。
加入複雜內容時,可以將各種型別傳遞到這個方法:
任何實作 IEnumerable<T> 的型別
如果物件實作 IEnumerable<T>,系統列舉物件中的集合,並加入集合中的所有項目。如果集合包含 XNode 或 XAttribute 物件,系統會個別加入集合中的每個項目。如果集合包含文字 (或轉換為文字的物件),集合中的文字會遭到串連,並加入為單一文字節點。
如果內容為 null,不會加入任何項目。傳遞集合時,集合中的項目可以為 null。集合中的 null 項目對於樹狀結構沒有任何影響。
加入的屬性在其包含的項目中必須擁有一個唯一的名稱。
加入 XNode 或 XAttribute 物件時,如果新內容沒有父代,則物件只會附加到 XML 樹狀結構。如果新內容已經成為父代,或是其他 XML 樹狀結構的一部分,則會複製新內容,而且新複製的內容會附加到 XML 樹狀結構。
有效的文件內容
屬性和簡單的內容無法加入到文件中。
需要您建立 XDocument 的案例並不多。但是,您通常可以建立具有 XElement 根節點的 XML 樹狀結構。除非您有建立文件的特定需求 (例如,因為您必須在頂層建立處理指示與註解,或者您必須支援文件型別),否則使用 XElement 做為您的根節點通常更方便。
有效的文件內容包括:
零或一個 XDocumentType 物件。文件型別必須在項目之前。
零或一個項目。
零或多個註解。
零或多個處理指示。
只包含一個空白字元的零或多個節點。
允許加入內容的建構函式與函式
下列方法可讓您將子內容加入到 XElement 或 XDocument:
方法 |
描述 |
---|---|
建構 XElement。 |
|
建構 XDocument。 |
|
將內容加入到 XNode 之後。 |
|
將內容加入到 XNode 之前。 |
|
將內容加入到 XContainer 之子內容的開頭。 |
|
取代 XElement 的所有內容 (子節點和屬性)。 |
|
取代 XElement 的屬性。 |
|
以新的內容取代子節點。 |
|
以新內容取代節點。 |