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

4

我有一个文件,其中包含以下HTML代码。我使用HtmlAgilityPack将该文件加载到一个HTMLDocument中。

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

我该如何实现这个目标?

<ul>
    <li>
        Hello world!
        <ul>
            <li>
                Welcome to planet!
            </li>
        </ul>
    </li>
</ul>
2个回答

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

将返回Hello world!

2

XPath:

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

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

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

使用时:

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

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


@ZainShaikh,HTMLAgilityPack非常棒,不是吗!很高兴能提供帮助。 - dash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接