Чтение значений атрибутов с помощью linq - PullRequest
3 голосов
/ 10 февраля 2009

У меня есть XML-файл, который выглядит следующим образом. Я пытаюсь создать запрос, который выбирает только элементы с атрибутом «Канал» и значением «Автомобильный».

<item>
      <title>Industries</title>
      <category type="Channel">Automotive</category>
      <category type="Type">Cars</category>
      <category type="Token">Article</category>
      <category type="SpecialToken">News</category>
      <guid>637f0dd7-57a0-4001-8272-f0fba60feba1</guid>
</item>

Вот мой код

 var feeds = (from item in doc.Descendants("item")
    where item.Element("category").Value == "Channel"  
    select new { }).ToList(); 

Я пытался использовать метод item.attribute, но не могу получить значение в Item, только атрибут Value типа "* type"

Может ли кто-нибудь помочь мне в этом?

Cheers, Chris

1 Ответ

10 голосов
/ 10 февраля 2009

Я подозреваю, что вы хотите:

var feeds = (from item in doc.Descendants("item")
             from category in item.Elements("category")
             where category.Value=="Automotive" && 
                   category.Attribute("type").Value == "Channel"
             select item).ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...