У меня есть следующий XML:C фильтрация # LINQ XML с помощью атрибута
<PlayerSetup>
<CardDeck name="deckOfCards"/>
<Card name="one"/>
<Card name="two"/>
<Card name="three"/>
<Card name="four"/>
<Token name="four"/>
</PlayerSetup>
Мне нужно получить только те элементы, которые атрибуты имя = "четыре", у меня есть следующий код:
var query = from d in xdoc.Descendants("PlayerSetup")
where (string)d.Attribute("name").Value == "four"
select d;
Что, конечно, не работает, не возвращает никаких элементов. Есть идеи ? Благодарю.
Вы имеете в виду вы хотите 1) 'PlayerSetup' элементы с потомком элемента с именем атрибута =» 4"; или 2) дочерние элементы 'PlayerSetup' с атрибутом name =" four "? – dbc
'name' является атрибутом' Card' not 'PlayerSetup' – Eser
Да, имя является атрибутом Card, а не PlayerSetup, @Eser благодарит за ваш ответ, я был на самом деле близок к нему, но я не знал, что могу использовать несколько потомков(), чтобы «копать» в дереве xml. – Byzs