通过XPath使用HtmlAgilityPack从html文档获取文本

时间:2012-08-22 18:51:43

标签: c# xpath html-agility-pack

我在文件中有以下html,我使用HTMLDocument将此文件加载到HtmlAgilityPack

问题是我只想使用Hello World!获取XPath而不是内部文本。

我如何实现这一目标?

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

2 个答案:

答案 0 :(得分:3)

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

将返回Hello world!

答案 1 :(得分:2)

XPath:

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

应选择实际文本“Hello World!”

然后,您可以选择此节点的值。

使用中:

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

实质上,这就是导航到ul节点,选择第一个li,然后选择text()节点。

相关问题