我知道这可能是我在XPath中的新手,但是让我问一下,因为我已经使用了足够的搜索引擎。XPath表达式在HtmlAgilityPack中不起作用
我有一个网站,并想从它那里得到的消息标题:www.farsnews.com(这是波斯)
使用Firebug FireXpath扩展的Firefox下,用手我提取和测试多个XPath表达式匹配标题,如:
* html/body/div[2]/div[2]/div[2]/div[*]/div[2]/a/div[2]
* .//*[@class="topnewsinfotitle "]
* .//div[@class="topnewsinfotitle "]
我还测试了这些使用XPather延伸,他们似乎工作得很好,但是当我有机会来测试他们...的的SelectNodes返回null!
任何线索或提示?
这里是代码的一块:
listBox2.ResetText();
HtmlAgilityPack.HtmlWeb w = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = w.Load("http://www.farsnews.com");
HtmlAgilityPack.HtmlNodeCollection nc = doc.DocumentNode.SelectNodes(".//div[@class=\"topnewsinfotitle \"]");
listBox2.Items.Add(nc.Count+" Items selected!");
foreach (HtmlAgilityPack.HtmlNode node in nc) {
listBox2.Items.Add(node.InnerText);
}
感谢。
HTML类名应该在最后包含空格吗? SelectNodes是否为每个案例返回null,即使是最微不足道的一个? – Dialecticus 2010-08-28 11:42:24