【发布时间】:2014-12-14 04:00:09
【问题描述】:
我正在尝试抓取一个 html 文档,以便从具有以下结构的 ul 列表中获取值:
<ul id="indicators0" class="connectedIndicators ui-sortable">
<li id="ind-speed" style="">speed=0.014774</li>
<li id="ind-speed_01" style="display: list-item;"></li>
...
</ul>
我可以通过使用 Html Agility Pack 遵循网络上众多示例中的任何一个来轻松访问节点“indicators0”:
HtmlAgilityPack.HtmlNode node = htmlDocument.DocumentNode.SelectSingleNode("//ul[@id='indicators0']");
但是,任何检索 li 节点的尝试都失败了。我正在尝试以下内容:
HtmlAgilityPack.HtmlNode subNode = htmlDocument.DocumentNode.SelectNodes("//ul[@id='indicators0'] //li").FirstOrDefault();
或者
HtmlAgilityPack.HtmlNode subNode = node.Descendants("li").FirstOrDefault();
在这两种情况下都返回空值。欢迎任何帮助。
【问题讨论】:
-
鉴于这个特定的 HTML 标记作为输入,您的代码应该可以正常工作:dotnetfiddle.net/9Y4Q6A
标签: c# web-scraping html-lists html-agility-pack