Sélection de valeurs d'attributs avec html Agility Pack

.net c# html-agility-pack xpath

Question

J'essaie de récupérer une image spécifique d'un document HTML à l'aide du pack d'agilité HTML et de ce xpath:

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

Autant que je sache, il trouve l'attribut src, mais renvoie le tag img. Pourquoi donc?

Je m'attendrais à ce que InnerHtml / InnerText ou quelque chose soit défini, mais les deux sont des chaînes vides. OuterHtml est défini sur le tag img complet.

Existe-t-il une documentation pour Html Agility Pack?

Réponse acceptée

HTML Agility Pack ne prend pas en charge la sélection d'attributs.


Réponse populaire

Vous pouvez directement récupérer l'attribut si vous utilisez plutôt 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;



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