Vorgehensweise: Suchen nach einem Element mit einem bestimmten untergeordneten 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.

Beispiel

Das Beispiel sucht nach dem Test-Element, das ein untergeordnetes CommandLine-Element mit dem Wert "Examp2.EXE" besitzt.

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel-XML-Datei: Testkonfiguration (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:

0002  
0006  

Beispiel

Im folgenden Beispiel wird dieselbe Abfrage für XML in einem Namespace gezeigt. Weitere Informationen finden Sie unter Working with XML Namespaces (C#) (Arbeiten mit XML-Namespaces (C#)).

In diesem Beispiel wird das folgende XML-Dokument verwendet: Beispiel XML-Datei: Testkonfiguration in einem 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:

0002  
0006  

Siehe auch

<xref:System.Xml.Linq.XElement.Attribute%2A>
<xref:System.Xml.Linq.XContainer.Elements%2A>
Basic Queries (LINQ to XML) (C#) (Standardabfragen (LINQ to XML) (C#))
Übersicht über Standardabfrageoperatoren (C#)
Projection Operations (C#) (Projektionsvorgänge (C#))