Selección de valores de atributos con html Agility Pack

.net c# html-agility-pack xpath

Pregunta

Estoy tratando de recuperar una imagen específica de un documento html, usando el paquete de agilidad html y esta xpath:

//div[@id='topslot']/a/img/@src

Por lo que puedo ver, encuentra el atributo src, pero devuelve la etiqueta img. ¿Porqué es eso?

Espero que el InnerHtml / InnerText o algo se establezca, pero ambos son cadenas vacías. OuterHtml se establece en la etiqueta img completa.

¿Hay alguna documentación para Html Agility Pack?

Respuesta aceptada

Html Agility Pack no admite la selección de atributos.


Respuesta popular

Puede tomar directamente el atributo si usa HtmlNavigator en HtmlNavigator lugar.

//Load document from some html string
HtmlDocument hdoc = new HtmlDocument();
hdoc.LoadHtml(htmlContent);

//Load navigator for current document
HtmlNodeNavigator navigator = (HtmlNodeNavigator)hdoc.CreateNavigator();

//Get value from given xpath
string xpath = "//div[@id='topslot']/a/img/@src";
string val = navigator.SelectSingleNode(xpath).Value;


Related

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é