Je sais qu'il peut être de mon noobness dans XPath, mais permettez-moi de demander à vous assurer, parce que j'ai assez googlé.XPath Expression ne fonctionne pas dans HtmlAgilityPack
J'ai un site Web et que vous voulez obtenir les titres de nouvelles de lui: www.farsnews.com (il est persan)
Utiliser les extensions KPL et FireXpath sous Firefox et à la main-je extraire et tester de multiples expressions XPath qui correspond les rubriques, telles que:
* html/body/div[2]/div[2]/div[2]/div[*]/div[2]/a/div[2]
* .//*[@class="topnewsinfotitle "]
* .//div[@class="topnewsinfotitle "]
J'ai également testé ces XPather en utilisant l'extension et ils semblent fonctionner assez bien, mais quand je reçois de les tester ... le SelectNodes retourne null!
Des indices ou indices?
est ici un morceau de code:
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);
}
Merci.
Le nom de classe HTML doit-il contenir un espace à la fin? SelectNodes renvoie null pour chaque cas, même le plus trivial? – Dialecticus