Vorgehensweise: Filtern nach Elementnamen (LINQ to XML) (C#)How to: Filter on Element Names (LINQ to XML) (C#)

Wenn Sie eine Methode aufrufen, die eine IEnumerable<T> von XElement zurückgibt, können Sie eine Filterung nach Elementnamen vornehmen.When you call one of the methods that return IEnumerable<T> of XElement, you can filter on the element name.

BeispielExample

In diesem Beispiel wird eine Auflistung mit Nachfolgerelementen abgerufen, die gefiltert wird, damit sie nur die Nachfolgerelemente mit dem angegebenen Namen enthält.This example retrieves a collection of descendants that is filtered to contain only descendants with the specified name.

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Typische Bestellung (LINQ to XML).This example uses the following XML document: Sample XML File: Typical Purchase Order (LINQ to XML).

XElement po = XElement.Load("PurchaseOrder.xml");  
IEnumerable<XElement> items =  
    from el in po.Descendants("ProductName")  
    select el;  
foreach(XElement prdName in items)  
    Console.WriteLine(prdName.Name + ":" + (string) prdName);  

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

ProductName:Lawnmower  
ProductName:Baby Monitor  

Die anderen Methoden, die eine IEnumerable<T> von XElement-Auflistungen zurückgeben, folgen dem gleichen Muster.The other methods that return IEnumerable<T> of XElement collections follow the same pattern. Ihre Signaturen entsprechen denen von Elements und Descendants.Their signatures are similar to Elements and Descendants. Im Folgenden finden Sie eine vollständige Liste der Methoden, die gleiche Methodensignaturen besitzen:The following is the complete list of methods that have similar method signatures:

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

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Typische Bestellung in einem Namespace.This example uses the following XML document: Sample XML File: Typical Purchase Order in a Namespace.

XNamespace aw = "http://www.adventure-works.com";  
XElement po = XElement.Load("PurchaseOrderInNamespace.xml");  
IEnumerable<XElement> items =  
    from el in po.Descendants(aw + "ProductName")  
    select el;  
foreach (XElement prdName in items)  
    Console.WriteLine(prdName.Name + ":" + (string)prdName);  

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

{http://www.adventure-works.com}ProductName:Lawnmower  
{http://www.adventure-works.com}ProductName:Baby Monitor  

Siehe auchSee Also

LINQ to XML Axes (C#) (LINQ to XML-Achsen (C#))LINQ to XML Axes (C#)