Číst v angličtině

Sdílet prostřednictvím


Jak najít element s konkrétním podřízeným elementem (LINQ to XML)

Tento článek ukazuje, jak najít prvek, jehož podřízený prvek má konkrétní hodnotu.

Příklad: Vyhledání elementu, jehož podřízený prvek má konkrétní hodnotu

Příklad najde Test prvek, jehož CommandLine podřízený prvek má hodnotu "Examp2.EXE". Příklad používá ukázkový soubor XML dokumentu XML: Testovací konfigurace.

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

Tento příklad vytvoří následující výstup:

0002
0006

Všimněte si, že verze jazyka Visual Basic kódu používá vlastnost podřízené osy XML, vlastnost osy atributu XML a vlastnost Hodnota XML.

Příklad: Vyhledání, když je XML v oboru názvů

Následující příklad dělá totéž jako předchozí, ale pro XML, který je v oboru názvů. Příklad používá ukázkový soubor XML dokumentu XML: Test konfigurace v oboru názvů.

Další informace najdete v tématu Přehled oborů názvů.

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

Tento příklad vytvoří následující výstup:

0002
0006

Viz také