XNode.Ancestors 方法

定义

返回此节点的上级元素的集合。

重载

Ancestors()

返回此节点的上级元素的集合。

Ancestors(XName)

返回此节点的经过筛选的上级元素的集合。 集合中仅包括具有匹配 XName 的元素。

注解

(可选)可以指定节点名称来筛选具有特定名称的上级元素。

返回的集合中的节点顺序与文档顺序相反。

此方法使用延迟执行。

Ancestors()

Source:
XNode.cs
Source:
XNode.cs
Source:
XNode.cs

返回此节点的上级元素的集合。

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)

返回

此节点上级元素的 XElementIEnumerable<T>

示例

以下示例使用此方法枚举节点的上级。

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  

该示例产生下面的输出:

Child  
Root  

注解

此方法不会在结果中返回自身。

返回的集合中的节点顺序与文档顺序相反。

此方法使用延迟执行。

另请参阅

适用于

Ancestors(XName)

Source:
XNode.cs
Source:
XNode.cs
Source:
XNode.cs

返回此节点的经过筛选的上级元素的集合。 集合中仅包括具有匹配 XName 的元素。

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);
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

返回

此节点上级元素的 XElementIEnumerable<T>。 集合中仅包括具有匹配 XName 的元素。

返回的集合中的节点顺序与文档顺序相反。

此方法使用延迟执行。

示例

以下示例使用此方法。

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  

该示例产生下面的输出:

Child  

注解

此方法不会在结果中返回自身。

另请参阅

适用于