Как насчет:
var items = from item in xdoc.Descendants("item")
select new
{
Title = item.Element("title").Value,
// *** NOTE: xml has "desc", not "description"
Description = item.Element("desc").Value
};
Трудно быть уверенным немного без образца XML - но похоже, что вы намереваетесь перебрать все элементы <item>...</item>
- что и делает вышеприведенное. Ваш исходный код зацикливается на элементах (single?) <items>...</items>
, а затем извлекает из него первые <item>...</item>
.
редактировать после просмотра xml; это было бы более эффективно:
var items = from item in xdoc.Root.Elements("item")
select new {
Title = item.Element("title").Value,
Description = item.Element("desc").Value
};