Selezione dei valori degli attributi con Agility Pack html

.net c# html-agility-pack xpath

Domanda

Sto cercando di recuperare un'immagine specifica da un documento html, usando il pacchetto agility html e questo xpath:

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

Per quanto posso vedere, trova l'attributo src, ma restituisce il tag img. Perché?

Mi aspetto che InnerHtml / InnerText o qualcosa sia impostato, ma entrambe sono stringhe vuote. OuterHtml è impostato sull'img-tag completo.

Ci sono documenti per Html Agility Pack?

Risposta accettata

Html Agility Pack non supporta la selezione degli attributi.


Risposta popolare

Puoi prendere direttamente l'attributo se invece usi HtmlNavigator .

//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;



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché