Html Agility Pack C #: выражение должно оцениваться с помощью набора узлов

c# html-agility-pack web-scraping

Вопрос

Я использую Html Agility Pack для получения веб-страницы. Я хочу собрать весь ТЕКСТ I AM LOOKING FOR следующего вида:

<li><a href="/deal/map/4087664" class="show-location" title="bla bla" data-address="TEXT I AM LOOKING FOR"></a></li>

Я пробовал этот код:

var web = new HtmlWeb();
var doc = web.Load(url);

var nodes1 = doc.DocumentNode.SelectNodes("//[@data-address]");
var nodes2 = doc.DocumentNode.SelectNodes("//[@data-address={0}]");

оба выбрали исключение: выражение должно оцениваться в наборе узлов. Как я могу исправить свой селектор?

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

Я не эксперт XPath, но я подозреваю, что вы хотите:

// Note the *
var nodes1 = doc.DocumentNode.SelectNodes("//*[@data-address]");

Другими словами, «любой элемент с атрибутом data-address »



Related

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