共用方式為


LINQ to XML 座標軸概觀

更新: November 2007

建立 XML 樹狀結構,或將 XML 文件載入到 XML 樹狀結構後,您可以進行查詢以尋找項目和屬性並擷取其值。您可以透過「座標軸方法」(Axis Method) 擷取集合,也稱為「座標軸」(Axis)。有些座標軸是 XElementXDocument 類別中,傳回 IEnumerable<T> 集合的方法。有些座標軸是 Extensions 類別中的擴充方法。當做擴充方法實作的座標軸會在集合上運算,然後傳回集合。

XElement 類別概觀中所述,XElement 物件代表單一項目節點。項目的內容可能很複雜 (有時候稱為結構化的內容),或者,它可能是簡單的項目。簡單的項目可以是空的,也可以包含值。如果節點包含結構化的內容,您可以使用各種座標軸方法來擷取子代項目的列舉。最常使用的座標軸方法為 ElementsDescendants

除了會傳回集合的座標軸方法之外,還有其他兩個常用於 LINQ to XML 查詢的方法。Element 方法會傳回單一的 XElementAttribute 方法會傳回單一的 XAttribute

就許多用途而言,LINQ 查詢會提供最強大的方式來檢查樹狀結構、從中擷取資料並加以轉換。LINQ 查詢會在實作 IEnumerable<T> 的物件上運作,而且 LINQ to XML 座標軸會傳回 Xelement 集合的 IEnumerable<T>,以及 XAttribute 集合的 IEnumerable<T>。您需要這些集合,才能執行您的查詢。

除了擷取項目和屬性之集合的座標軸方法之外,還有其他座標軸方法可讓您仔細逐一查看樹狀結構。例如,您可以使用樹狀結構的節點,而不是處理項目和屬性。這些節點是比項目和屬性還要細微的位移單位等級。使用節點時,您可以檢查 XML 註解、文字節點、處理指示等等。這個功能對於撰寫文字處理器與想要將文件另存為 XML 之類的人而言,相當重要。不過,多數的 XML 程式設計人員關心的都是項目、屬性及其值。

擷取項目集合的方法

下列為 XElement 類別 (或其基礎類別) 之方法的摘要,您可以在 XElement 上呼叫這些方法來傳回項目的集合。

方法

描述

XNode.Ancestors

傳回此項目祖系之 XElementIEnumerable<T>。多載會傳回其祖系具有指定之 XNameXElementIEnumerable<T>

XContainer.Descendants

傳回此項目子代之 XElementIEnumerable<T>。多載會傳回其子代具有指定之 XNameXElementIEnumerable<T>

XContainer.Elements

傳回此項目的子項目之 XElementIEnumerable<T>。多載會傳回其子項目具有指定之 XNameXElementIEnumerable<T>

XNode.ElementsAfterSelf

傳回此項目後的項目之 XElementIEnumerable<T>。多載會傳回具有指定之 XName 的這個項目後之項目的 XElementIEnumerable<T>

XNode.ElementsBeforeSelf

傳回此項目前的項目之 XElementIEnumerable<T>。多載會傳回具有指定之 XName 的這個項目前之項目的 XElementIEnumerable<T>

XElement.AncestorsAndSelf

傳回此項目及其祖系之 XElementIEnumerable<T>。多載會傳回其項目具有指定之 XNameXElementIEnumerable<T>

XElement.DescendantsAndSelf

傳回此項目及其子代之 XElementIEnumerable<T>。多載會傳回其項目具有指定之 XNameXElementIEnumerable<T>

擷取單一項目的方法

下列方法會從 XElement 物件擷取單一子系。

方法

描述

XContainer.Element

傳回具有指定之 XName 的第一個 XElement 子物件。

擷取屬性集合的方法

下列方法會從 XElement 物件擷取屬性。

方法

描述

XElement.Attributes

傳回所有屬性之 XAttributeIEnumerable<T>

擷取單一屬性的方法

下列方法會從 XElement 物件擷取單一屬性。

方法

描述

XElement.Attribute

傳回具有指定之 XNameXAttribute

請參閱

概念

LINQ to XML 座標軸