Пакет гибкости HTML + Выбор узла по его внутреннему тексту

c#-4.0 html-agility-pack xpath

Вопрос

Я получил возможность использовать пакет html agility, чтобы найти определенные узлы, используя их атрибуты и xpaths. Проблема в том, что я делал это вручную для каждого из моих проектов (открытие веб-сайта html и сканирование для узлов, у которых есть текст, который мне нужен). Есть ли способ выбрать один узел по его внутреннему тексту? Это упростит запись сценария обновления для сайтов, структура контента которых одинакова, но теги атрибутов меняют значения с течением времени. Заранее спасибо!

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

Было бы лучше, если бы вы предоставили образец HTML, но так как вы этого не сделали, допустим, у нас есть HTML, содержащий эту разметку:

<body>
    <div class="foo">bar</div>
</body>

Вы можете выбрать атрибут <div> по его атрибуту, используя HtmlAgilityPack's SelectSingleNode() и XPath так:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[@class='foo']");

или вы можете выбрать один и тот же внутренний текст следующим образом:

myHtmlDocument.DocumentNode.SelectSingleNode("//div[.='bar']");

Надеюсь, эта помощь.



Related

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