Это потому что есть 2 dc:title
элементов, возвращаемых Descendants()
. Один с атрибутом xsi:type
и один без. Когда вы звоните .Value
на номер без в вашем where
, это дает вам исключение нулевой ссылки. Прежде чем проверять значение, необходимо проверить, что атрибут имеет нулевое значение.
Вот код, который работает:
var q = from result in xd.Descendants(dc + "title")
where (String)result.Attribute(xsi + "type") == "dkdcplus:full"
select result;