/ / Recuperar dados para um nó no xml usando LINQ e onde cláusula - linq-to-xml

Recuperar dados para um nó no xml usando LINQ e onde cláusula - linq para xml

Eu tenho o seguinte XML:

<?xml version="1.0" encoding="utf-8" ?>
<departments>
<department id="1">
<name>Mens Shirts</name>
<Products>
<Product>Mens Classic White</Product>
<Product>Mens Full whites</Product>
</Products>
</department>
<department id="2">
<name>Mens Trousers</name>
<Products>
<Product>Mens Formal Blacks</Product>
<Product>Mens Black Jeans</Product>
</Products>
</department>
</departments>

Como posso obter o nome do departamento para um determinado produto usando o LINQ? eg: encontrar dept para product = "Mens Classic White"

Respostas:

0 para resposta № 1

Você pode usar a classe XDocument para obter as informações do seu arquivo.

var productName = "Mens Classic White";

XDocument doc= XDocument.Load(@"C:xmlFile.xml");
var q = doc.Elements("departments")
.Where(parent => parent.Elements(productName)
.Any(child => child.Elements("department").Any()));