我知道我的XPath技能可能有限,但是让我问一下以确保,因为我已经谷歌了很多。
我有一个网站,想从中获取新闻标题:www.farsnews.com(它是波斯语)
使用Firefox浏览器下的FireBug和FireXpath扩展,并手动提取和测试多个匹配标题的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);
}
感谢您的选择。