4

我在一个文件中有以下 html,我正在将此文件加载到HTMLDocumentusing HtmlAgilityPack.

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

我如何实现这一目标?

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

2 回答 2

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

将返回 Hello world!

于 2012-08-22T19:03:34.147 回答
2

XPath:

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

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

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

正在使用:

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

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

于 2012-08-22T19:04:19.340 回答