我知道這可能是我在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