XNode.Ancestors 方法

定义

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

重载

Ancestors()

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

Ancestors(XName)

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

注解

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

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

此方法使用延迟执行。

Ancestors()

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

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

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors ();

返回

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

示例

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

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

该示例产生下面的输出:

Child  
Root  

注解

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

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

此方法使用延迟执行。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Ancestors(XName)

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

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

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors (System.Xml.Linq.XName name);
C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors (System.Xml.Linq.XName? name);

参数

name
XName

要匹配的 XName

返回

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

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

此方法使用延迟执行。

示例

以下示例使用此方法。

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

该示例产生下面的输出:

Child  

注解

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

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0