共用方式為


XElement 和 XDocument 物件的有效內容 (LINQ to XML)

本文說明可以傳遞至建構函式的有效自變數,以及您用來將內容新增至元素和檔的方法。

XElement 建構函式的有效類型

查詢通常會評估為 IEnumerable<T>XElementIEnumerable<T>XAttribute。 您可以將 XElementXAttribute 物件的集合傳遞至 XElement 建構函式。 這就是為什麼將查詢結果作為內容傳遞到用於填充 XML 樹狀結構的方法和建構子會如此方便。

新增簡單內容時,可以將各種類型傳遞至此方法,包括:

新增複雜內容時,可以將各種類型傳遞至此方法,包括:

如果物件實作 IEnumerable<T>方法,則會列舉物件中的集合,並將集合中的所有專案加入至集合。 如果集合包含 XNodeXAttribute 物件,則會個別新增集合中的每個專案。 如果集合包含文字(或轉換成文字的物件),集合中的文字會串連並新增為單一文字節點。

如果內容 null,則不會新增任何內容。 傳遞集合時,集合中的項目可以是 null。 集合中的 null 項目不會影響樹狀結構。

加入的屬性在其包含元素內必須有唯一的名稱。

新增 XNodeXAttribute 物件時,如果新內容沒有父系,則物件只會附加至 XML 樹狀結構。 如果新內容已經有父節點,且屬於另一個 XML 樹狀結構,則會複製新內容,並將新複製的內容附加至 XML 樹狀結構。

XDocument 建構函式的有效類型

屬性和簡單內容無法新增至檔。

需要建立 XDocument的情況並不多。 相反地,您通常可以使用 XElement 根節點來建立 XML 樹狀結構。 除非您有建立檔的特定需求(例如,因為您必須在最上層建立處理指示和批注,或必須支援檔類型),否則使用 XElement 作為根節點通常更方便。

XDocument 建構函式的有效類型包括:

  • 零或一個 XDocumentType 物件。 檔類型必須位於元素之前。
  • 零或一個元素。
  • 零個至多個批注。
  • 零個或多個處理指令。
  • 僅包含空白的零個或多個文本節點。

用於新增內容的構造函數和函式

下列方法可讓您將子內容新增至 XElementXDocument

方法 描述
XElement 建構一個 XElement
XDocument 建構 XDocument
Add 將 新增至 XElementXDocument子內容的結尾。
AddAfterSelf XNode之後新增內容。
AddBeforeSelf XNode之前新增內容。
AddFirst XContainer子內容的開頭添加內容。
ReplaceAll 取代 XElement的所有內容(子節點和屬性)。
ReplaceAttributes XElement的屬性替換掉。
ReplaceNodes 使用新內容替換子節點。
ReplaceWith 以新內容取代節點。

另請參閱