XNode.Ancestors Метод

Определение

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

Перегрузки

Ancestors()

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

Ancestors(XName)

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

Комментарии

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

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

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

Ancestors()

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

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

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

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  

Комментарии

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

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

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