Tratando de obtener un solo nodo con Html Agility Pack

c# html html-agility-pack

Pregunta

Estoy intentando obtener un solo nodo después de localizar el htmlnode con una etiqueta específica. Pero lo que recibo es un error:

Referencia a objeto no establecida como instancia de un objeto.

Ahora aquí está el código:

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']");

Mi propósito es conseguir todos los nodos dentro de la etiqueta li XU. Conozco el nombre de las clases.

También solo para tener en cuenta que cuando estoy reemplazando la última línea de código con una

var parseString = document.DocumentNode.SelectSingleNode("//span[@class='long-position']");

entonces el argumento de la etiqueta dentro del SelectSingleNode está funcionando bien.

Respuesta popular

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


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué