Спасибо за совет, мне удалось как-то заставить его работать, но только с ".First" в методе расширения.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, как получить все значения там, где в XML-файле есть значения NULL. В принципе, XML может выглядеть следующим образом. Так что, если я использую «Первый», то, конечно, будет выбран первый пустой, поэтому не отображается.
Есть ли способ пропустить значения NULL?
<item>
<title>Industries</title>
<category type="Channel"></category>
<category type="Channel">Automotive</category>
<category type="Type"></category>
<category type="Type">Cars</category>
<category type="Token">Article</category>
<category type="SpecialToken">News</category>
<guid>637f0dd7-57a0-4001-8272-f0fba60feba1</guid>
</item>
Здесь текущий метод расширения
public static string CategoryValue(this XElement item, string type)
{
var category = item.Descendants("category").First(c => (string)c.Attribute("type") == type);
return category == null ? null : category.Value;
}