2013-09-22 86 views
0

我試圖從一個IMG節點提取兩個屬性,但有一個NullReferenceException,突出顯示的行不工作,我想不通爲什麼:獲取多個屬性

var imageCollection = doc.DocumentNode.Descendants("img"); 
foreach (HtmlNode imageNode in imageCollection) 
{ 
    var imageLink = imageNode.Attributes["src"].Value; 
    var something=imageNode.Attributes["alt"].Value; // !!! 

    if (Regex.IsMatch(imageLink, "1280.jpg")) 
    { 
     urls.Add(imageLink); 
     //Date.Add(something); 
    } 
} 

和html代碼:

<img src="imageurl" alt="http://bbc.in/ZWwFHt" width="610" height="610"> 

回答

3

您的某些圖片沒有alt屬性。檢查它是否爲空。

var alt = imageNode.Attributes["alt"]; 
if(alt!=null) 
{ 
    var something = alt.Value; 
} 
+0

感謝您的回答,但我'得到一個錯誤說HtmlagilityaPack不包含定義值... –

+0

@GregoireDumas一個錯字。我編輯了答案。它應該是「價值」而不是「價值」。 – I4V

+0

我不知道爲什麼我錯過了,謝謝 –