Vorgehensweise: Suchen eines einzelnen Nachfolgers mit der Descendants-Methode (C#)How to: Find a Single Descendant Using the Descendants Method (C#)

Mit der Descendants-Achsenmethode können Sie schnell Code zum Suchen nach einem einzelnen eindeutig benannten Element schreiben.You can use the Descendants axis method to quickly write code to find a single uniquely named element. Diese Technik ist besonders nützlich, wenn Sie einen bestimmten Nachfolger mit einem bestimmten Namen ermitteln möchten.This technique is especially useful when you want to find a particular descendant with a specific name. Sie könnten den Code zwar so schreiben, dass eine Navigation zum gewünschten Element erfolgt, es ist aber häufig schneller und einfacher, den Code mit der Descendants-Achse zu schreiben.You could write the code to navigate to the desired element, but it is often faster and easier to write the code using the Descendants axis.

BeispielExample

In diesem Beispiel wird der First-Standardabfrageoperator verwendet.This example uses the First standard query operator.

XElement root = XElement.Parse(@"<Root>  
  <Child1>  
    <GrandChild1>GC1 Value</GrandChild1>  
  </Child1>  
  <Child2>  
    <GrandChild2>GC2 Value</GrandChild2>  
  </Child2>  
  <Child3>  
    <GrandChild3>GC3 Value</GrandChild3>  
  </Child3>  
  <Child4>  
    <GrandChild4>GC4 Value</GrandChild4>  
  </Child4>  
</Root>");  
string grandChild3 = (string)  
    (from el in root.Descendants("GrandChild3")  
    select el).First();  
Console.WriteLine(grandChild3);  

Dieser Code erzeugt die folgende Ausgabe:This code produces the following output:

GC3 Value  

BeispielExample

Im folgenden Beispiel wird dieselbe Abfrage für XML in einem Namespace gezeigt.The following example shows the same query for XML that is in a namespace. Weitere Informationen finden Sie unter Working with XML Namespaces (C#) (Arbeiten mit XML-Namespaces (C#)).For more information, see Working with XML Namespaces (C#).

XElement root = XElement.Parse(@"<aw:Root xmlns:aw='http://www.adventure-works.com'>  
  <aw:Child1>  
    <aw:GrandChild1>GC1 Value</aw:GrandChild1>  
  </aw:Child1>  
  <aw:Child2>  
    <aw:GrandChild2>GC2 Value</aw:GrandChild2>  
  </aw:Child2>  
  <aw:Child3>  
    <aw:GrandChild3>GC3 Value</aw:GrandChild3>  
  </aw:Child3>  
  <aw:Child4>  
    <aw:GrandChild4>GC4 Value</aw:GrandChild4>  
  </aw:Child4>  
</aw:Root>");  
XNamespace aw = "http://www.adventure-works.com";  
string grandChild3 = (string)  
    (from el in root.Descendants(aw + "GrandChild3")  
     select el).First();  
Console.WriteLine(grandChild3);  

Dieser Code erzeugt die folgende Ausgabe:This code produces the following output:

GC3 Value  

Siehe auchSee Also

Basic Queries (LINQ to XML) (C#) (Standardabfragen (LINQ to XML) (C#))Basic Queries (LINQ to XML) (C#)