我有一個XML數據集的LINQ查詢,它在執行時產生一個NullReferenceException。linq NullReferenceException問題
XDocument dataDoc = XDocument.Load(new 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查詢工作正常,但是當代碼試圖通過foreach循環迭代時,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 2011-02-01 17:00:45