У меня есть запрос linq к набору данных XML, который при выполнении генерирует исключение NullReferenceException.linq NullReferenceException question
XDocument dataDoc = XDocument.Load (новый StringReader (e.Result));
var Genres = from genre in dataDoc.Descendants("genres")
where (!genre.Element("ID").IsEmpty)
select (string)genre.Element("id").Value + ',' + (string)genre.Attribute("name").Value + ',' + (string)genre.Attribute("url").Value;
foreach (string myGenre in Genres)
{
}
При выполнении запроса Linq работает нормально, но когда код пытается итерации цикла Еогеасп, происходит NullReferenceException.
Теперь я думаю, что проблема связана с данными XML Читаю, который выглядит следующим образом:
<genres>
<translated>true</translated>
<genre name="1">
<id>28</id>
<url>http://url1</url>
</genre>
<genre name="2">
<id>12</id>
<url>http://url2</url>
</genre>
</genres>
ли первый дочерний узел, который отличается по структуре, в результате чего проблема? Мой класс за это не должно быть проблемой, но следующее (на всякий случай):
public class Genre
{
public string ID { get; set; }
public string Name { get; set; }
public string URL { get; set; }
}
Ваше предложение 'where' должно быть, вероятно, строчным. – SLaks