Выбор значений атрибутов с помощью html Agility Pack

.net c# html-agility-pack xpath

Вопрос

Я пытаюсь получить определенное изображение из html-документа, используя html-пакет гибкости и этот xpath:

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

Насколько я могу судить, он находит атрибут src, но возвращает img-tag. Почему это?

Я ожидал бы InnerHtml / InnerText или что-то, что нужно установить, но обе являются пустыми строками. OuterHtml установлен на полный img-тэг.

Есть ли какая-либо документация для Html Agility Pack?

Принятый ответ

Html Agility Pack не поддерживает выбор атрибутов.


Популярные ответы

Вы можете напрямую захватить атрибут, если вместо этого используете 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;


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow