J'ai un problème avec XPath dans C#
Je veux trouver tous les éléments de cette structure
J'ai 10 liens qui tous ont cette structure:
HTML XPath Recherche par nom de classe
<div class="PartialSearchResults-item" data-zen="true">
<div class="PartialSearchResults-item-title">
<a class="PartialSearchResults-item-title-link result-link"target="_blank" href='https://www.google.com/'> Google</a>
</div>
<p class="PartialSearchResults-item-url">www.google.com</p>
<p class="PartialSearchResults-item-abstract">Search the world.</p>
</div>
par exemple avec cet exemple, je veux obtenir "Google" et "www.google.com" et "Rechercher le monde".
var titles = hd.DocumentNode.SelectNodes("//div[contains(@class, 'PartialSearchResults-item')]");
string link;
foreach (HtmlNode node in titles){
string description = node.SelectSingleNode(".//*[contains(@class,'PartialSearchResults-item-abstract')]").InnerText;
link = node.SelectSingleNode(".//*[contains(@class,'PartialSearchResults-item-url')]").InnerText;
string title = node.SelectSingleNode(".//a[contains(@class,'PartialSearchResults-item-title-link result-link')]").InnerText;}
Mais j'obtiens l'erreur référence null
Votre solution est correcte, mais je suis aussi coincé au même point et dans mon cas, avec le nom de la classe 'PartialSearchResults-article '(par exemple.) J'ai d'autres classes aussi. donc pas en mesure d'obtenir le résultat en utilisant 'var titles = hd.DocumentNode.SelectNodes (" // div [@ class = 'PartialSearchResults-item'] ");' pour utiliser cette syntaxe j'ai besoin de donner chaque nom de classe alongwith qui ne sera pas fixé. – Divya