我正在尝试解析以下HTML。我需要在h4标签下获取值为“Title”的所有链接的innertext。
<h4>Title</h4>
<ul>
<li>
<a>One</a>
</li>
<li>
<a>Two</a>
</li>
<li>
<a>Three</a>
</li>
</ul>
我可以使用以下代码获取h4元素:
var links = document.DocumentNode.SelectNodes("//h4[contains(text(),'Title')]");
问题在于尝试获取节点。我尝试了以下代码但没有效果:
var urls = member.SelectNodes(".//a");
foreach (var url in urls)
{
Console.WriteLine(url.InnerText);
}
答案 0 :(得分:1)
从我可以收集的内容来看,我认为它不起作用,因为您使用的xpath期望节点是您的h4节点的子节点,我没有对此进行测试,但可能缺少解释您的要求但是。 ..
var links = document.DocumentNode.SelectNodes("//h4[contains(text(),'Title')]/following-sibling::*[1]//a");
这将获得在h4节点的第一个兄弟节点中找到的所有节点。因此,在您的示例HTML中,它应该获取ul节点中的所有节点
希望这有帮助