получение текста из html-документа с помощью HtmlAgilityPack через XPath

c# html-agility-pack xpath

Вопрос

У меня есть следующий html в файле, я загружаю этот файл в HTMLDocument используя HtmlAgilityPack .

Проблема в том, что я хочу получить Hello World! используя XPath а не внутренний текст.

Как мне это достичь?

<ul>
    <li>
        Hello world!
        <ul>
            <li>
                Welcome to planet!
            </li>
        </ul>
    </li>
</ul>

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

XPath:

//ul/li[1]/text()

Должен выбрать фактический текст «Hello World!».

Затем вы можете выбрать значение этого узла.

В использовании:

string text = doc.DocumentElement.SelectSingleNode("//ul/li[1]/text()").Value;

В сущности, это говорит о том, чтобы перейти к узлу ul, выбрать первый li, а затем выбрать узел text ().


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

htmlDocument.DocumentNode.SelectNodes("//ul/li").First().FirstChild.InnerText;

вернет Привет мир!



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему