2012-07-21 39 views
0

我試圖從this網站得到的第一個形象,但我不斷收到一個錯誤,不能完全弄清楚爲什麼錯誤..XPath的解析讓我

下面的代碼:

string pictureurl = webdoc.DocumentNode.SelectSingleNode("//div[2]/table[1]/tr/td/a").Attributes["href"].Value; 

和錯誤是Object reference not set to an instance of an object.

任何人都可以請告訴我爲什麼?如果我刪除它工作正常,上述行..

+1

已經嘗試將行分解成單獨的部分來發現哪個位返回'null'? – freefaller 2012-07-21 20:38:25

+0

頁面中的第三個div(來自_all_'div's)是否有兩個表格?第二個表格是否帶有「a」元素的第一個單元格? – Oded 2012-07-21 20:38:41

+0

使用調試器並將鼠標懸停在線的某些部分上以找出空的部分。 – Adam 2012-07-21 20:39:37

回答

1

您的XPath是不正確得到IMG

請用這種方式

string pictureurl = 
webdoc.DocumentNode 
.SelectSingleNode("//div[2]/table[1]/tr/td/a/img") 
.Attributes["src"].Value; 
1

使用//div[2]/table[1]/tbody/tr/td/a。根據配置設置HtmlAgilityPack插入一個tbody元素。

1

仔細檢查通過以下實際返回的東西...調試

webdoc.DocumentNode.SelectSingleNode("//div[2]/table[1]/tr/td/a"); 

我猜測是不是,而是使用下面的(注意額外tbody)..

webdoc.DocumentNode.SelectSingleNode("//div[2]/table[1]/tbody/tr/td/a");