XNode.Ancestors XNode.Ancestors XNode.Ancestors XNode.Ancestors Method

定義

このノードの先祖要素のコレクションを返します。Returns a collection of the ancestor elements of this node.

オーバーロード

Ancestors() Ancestors() Ancestors() Ancestors()

このノードの先祖要素のコレクションを返します。Returns a collection of the ancestor elements of this node.

Ancestors(XName) Ancestors(XName) Ancestors(XName) Ancestors(XName)

このノードの先祖要素のフィルター処理されたコレクションを返します。Returns a filtered collection of the ancestor elements of this node. 一致する XName を持つ要素のみがコレクションに含められます。Only elements that have a matching XName are included in the collection.

注釈

必要に応じて、特定の名前を持つ祖先要素をフィルター処理するためにノード名を指定することもできます。Optionally a node name can be specified to filter for ancestor elements with a specific name.

返されたコレクションのノードは、ドキュメントの逆順になっています。The nodes in the returned collection are in reverse document order.

このメソッドは遅延実行を使用します。This method uses deferred execution.

Ancestors() Ancestors() Ancestors() Ancestors()

このノードの先祖要素のコレクションを返します。Returns a collection of the ancestor elements of this node.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Ancestors();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors ();
member this.Ancestors : unit -> seq<System.Xml.Linq.XElement>
Public Function Ancestors () As IEnumerable(Of XElement)

戻り値

このノードの先祖要素の IEnumerable<T>XElementAn IEnumerable<T> of XElement of the ancestor elements of this node.

次の例では、このメソッドを使用して、ノードの先祖を列挙します。The following example uses this method to enumerate the ancestors of a node.

XElement xmlTree = new XElement("Root",  
    new XElement("Child",   
        new XElement("GrandChild", "content")  
    )  
);  
IEnumerable<XElement> grandChild = xmlTree.Descendants("GrandChild");  
foreach (XElement el in grandChild.Ancestors())  
    Console.WriteLine(el.Name);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child>  
                <GrandChild>content</GrandChild>  
            </Child>  
        </Root>  

Dim grandChild As IEnumerable(Of XElement) = xmlTree...<GrandChild>  
For Each el In grandChild.Ancestors()  
    Console.WriteLine(el.Name)  
Next  

この例を実行すると、次の出力が生成されます。This example produces the following output:

Child  
Root  

注釈

このメソッドは、結果内でそれ自体を返しません。This method does not return itself in the results.

返されたコレクションのノードは、ドキュメントの逆順になっています。The nodes in the returned collection are in reverse document order.

このメソッドは遅延実行を使用します。This method uses deferred execution.

こちらもご覧ください

Ancestors(XName) Ancestors(XName) Ancestors(XName) Ancestors(XName)

このノードの先祖要素のフィルター処理されたコレクションを返します。Returns a filtered collection of the ancestor elements of this node. 一致する XName を持つ要素のみがコレクションに含められます。Only elements that have a matching XName are included in the collection.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Ancestors(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors (System.Xml.Linq.XName name);
member this.Ancestors : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function Ancestors (name As XName) As IEnumerable(Of XElement)

パラメーター

name
XName XName XName XName

照合する対象の XNameThe XName to match.

戻り値

このノードの先祖要素の IEnumerable<T>XElementAn IEnumerable<T> of XElement of the ancestor elements of this node. 一致する XName を持つ要素のみがコレクションに含められます。Only elements that have a matching XName are included in the collection.

返されたコレクションのノードは、ドキュメントの逆順になっています。The nodes in the returned collection are in reverse document order.

このメソッドは遅延実行を使用します。This method uses deferred execution.

次の例では、このメソッドを使用します。The following example uses this method.

XElement xmlTree = new XElement("Root",  
    new XElement("Child",   
        new XElement("GrandChild", "content")  
    )  
);  
IEnumerable<XElement> grandChild = xmlTree.Descendants("GrandChild");  
foreach (XElement el in grandChild.Ancestors("Child"))  
    Console.WriteLine(el.Name);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child>  
                <GrandChild>content</GrandChild>  
            </Child>  
        </Root>  

Dim grandChild As IEnumerable(Of XElement) = xmlTree...<GrandChild>  
For Each el In grandChild.Ancestors("Child")  
    Console.WriteLine(el.Name)  
Next  

この例を実行すると、次の出力が生成されます。This example produces the following output:

Child  

注釈

このメソッドは、結果にそれ自体を返しません。This method will not return itself in the results.

こちらもご覧ください

適用対象