XNode.Ancestors Метод

Определение

Возвращает коллекцию предки элементов этого узла.

Перегрузки

Имя Описание
Ancestors()

Возвращает коллекцию предки элементов этого узла.

Ancestors(XName)

Возвращает отфильтрованную коллекцию предков элементов этого узла. В коллекцию включены только элементы с соответствующими XName.

Комментарии

При необходимости можно указать имя узла, чтобы отфильтровать элементы-предки с определенным именем.

Узлы в возвращаемой коллекции находятся в обратном порядке документа.

Этот метод использует отложенное выполнение.

Ancestors()

Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
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)

Возвращаемое значение

IEnumerable<T> Часть XElement предки элементов этого узла.

Примеры

В следующем примере этот метод используется для перечисления предков узла.

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)

Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
XNode.cs
Исходный код:
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 .

Возвращаемое значение

IEnumerable<T> Часть XElement предки элементов этого узла. В коллекцию включены только элементы с соответствующими 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

Комментарии

Этот метод не возвращается в результатах.

См. также раздел

Применяется к