gpt4 book ai didi

c# - 使用 HTMLAgilityPack 和 XPath 获取 childNodes 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:07:43 25 4
gpt4 key购买 nike

我正在尝试解析以下 HTML。我需要获取值为“Title”的 h4 标签下所有链接的内部文本。

<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')]");

尝试获取 a 节点时会出现问题。我已经尝试了以下代码,但都不起作用:

var urls = member.SelectNodes(".//a");

foreach (var url in urls)
{
Console.WriteLine(url.InnerText);
}

最佳答案

据我所知,我认为它不起作用,因为您使用的 xpath 期望 a 节点是您的 h4 节点的子节点,我没有对此进行测试,并且可能缺少解释您的要求但是。 ..

var links = document.DocumentNode.SelectNodes("//h4[contains(text(),'Title')]/following-sibling::*[1]//a");

这将获取在 h4 节点的第一个兄弟节点中找到的所有 a 节点。因此,在您的示例 HTML 中,它应该获取 ul 节点中的所有 a 节点

希望对你有帮助

关于c# - 使用 HTMLAgilityPack 和 XPath 获取 childNodes 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8878614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com