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 10 和其他版本
产品 版本
.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, 10
.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 10 和其他版本
产品 版本
.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, 10
.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