Vorgehensweise: Suchen nach einem Element mit einem bestimmten untergeordneten Element (C#)How to: Find an Element with a Specific Child Element (C#)

In diesem Thema wird gezeigt, wie Sie nach einem bestimmten Element suchen können, das ein untergeordnetes Element mit einem bestimmten Wert besitzt.This topic shows how to find a particular element that has a child element with a specific value.

BeispielExample

Das Beispiel sucht nach dem Test-Element, das ein untergeordnetes CommandLine-Element mit dem Wert "Examp2.EXE" besitzt.The example finds the Test element that has a CommandLine child element with the value of "Examp2.EXE".

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Testkonfiguration (LINQ to XML).This example uses the following XML document: Sample XML File: Test Configuration (LINQ to XML).

XElement root = XElement.Load("TestConfig.xml");  
IEnumerable<XElement> tests =  
    from el in root.Elements("Test")  
    where (string)el.Element("CommandLine") == "Examp2.EXE"  
    select el;  
foreach (XElement el in tests)  
    Console.WriteLine((string)el.Attribute("TestId"));  

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

0002  
0006  

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: Testkonfiguration in einem Namespace.This example uses the following XML document: Sample XML File: Test Configuration in a Namespace.

XElement root = XElement.Load("TestConfigInNamespace.xml");  
XNamespace ad = "http://www.adatum.com";  
IEnumerable<XElement> tests =  
    from el in root.Elements(ad + "Test")  
    where (string)el.Element(ad + "CommandLine") == "Examp2.EXE"  
    select el;  
foreach (XElement el in tests)  
    Console.WriteLine((string)el.Attribute("TestId"));  

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

0002  
0006  

Siehe auchSee Also

Attribute
Elements
Basic Queries (LINQ to XML) (C#) (Standardabfragen (LINQ to XML) (C#))Basic Queries (LINQ to XML) (C#)
Standard Query Operators Overview (C#) (Übersicht der Standardabfrageoperatoren (C#))Standard Query Operators Overview (C#)
Projection Operations (C#) (Projektionsvorgänge (C#))Projection Operations (C#)