XNode.Ancestors 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回此节点的上级元素的集合。
重载
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)
返回
此节点上级元素的 XElement 的 IEnumerable<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)
参数
返回
此节点上级元素的 XElement 的 IEnumerable<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
注解
此方法不会在结果中返回自身。