Essayer d'obtenir un seul nœud avec Html Agility Pack

c# html html-agility-pack

Question

J'essaie d'obtenir un seul noeud après avoir localisé le htmlnode avec une balise spécifique. Mais ce que je récupère est une erreur:

La référence d'objet n'est pas définie à une instance d'un objet.

Maintenant, voici le code:

HtmlWeb htmlWeb = new HtmlWeb();
// Creates an HtmlDocument object from an URL
HtmlAgilityPack.HtmlDocument document = htmlWeb.Load(url);
// Targets a specific node
// If there is no node with that Id, someNode will be null
HtmlNode someNode = document.GetElementbyId("<li name=\"XU\">");
var parseString = someNode.SelectSingleNode("//span[@class='lp']");

Mon but est d’obtenir tous les nœuds de la balise XU li. Je connais le nom des classes.

Aussi juste pour noter que quand je remplace la dernière ligne de code avec un

HtmlWeb htmlWeb = new HtmlWeb();
// Creates an HtmlDocument object from an URL
HtmlAgilityPack.HtmlDocument document = htmlWeb.Load(url);
// Targets a specific node
// If there is no node with that Id, someNode will be null
HtmlNode someNode = document.GetElementbyId("<li name=\"XU\">");
var parseString = someNode.SelectSingleNode("//span[@class='lp']");

alors, l'argument de la balise dans SelectSingleNode fonctionne correctement.

Réponse populaire

HtmlNode someNode = document.SelectSingleNode("//li[@name='XU']").SelectSingleNode("/span[@class='lp']");



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi