2012-07-21 41 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");