2011-12-01 107 views
0

我有一個包含以下代碼HTML刮使用HTML敏捷性包

<div id="image_src" style="display: block; "> 
<img id="captcha_img" src="" alt="image" onclick="imageClick(event)" style="cursor:crosshair;"> 

在這一個HTML如何檢測使用HTML敏捷性包的SRC?

從另一個問題,我使用下面的LINQ

var urls = document.DocumentNode.Descendants("img") 
          .Select(e => e.GetAttributeValue("src", null)) 
          .Where(s => !String.IsNullOrEmpty(s)); 

,但我不斷收到此空指針異常嘗試...

我有鑑於整個HTML只有一個圖像標記像上面

有人可以幫助我..

回答

1

使用HTML敏捷性包

HtmlAgilityPack.HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml(html); 

string imgValue = doc.DocumentNode.SelectSingleNode("//img[@id = \"captcha_img\"]").GetAttributeValue("src", "0"); 
2

要解決空指針異常,將每個Linq語句分解成它自己的行,如下所示:

var img = document.DocumentNode.Descendants("img"); 
var s = img.Select(e => e.GetAttributeValue("src", null)); 
var w = s.Where(s => !String.IsNullOrEmpty(s));  

然後,用調試器遍歷每一行,看看它在哪裏拋出。