gpt4 book ai didi

c# - HtmlAgilityPack 选择的子节点不符合预期

转载 作者:IT王子 更新时间:2023-10-29 03:59:35 25 4
gpt4 key购买 nike

我正在尝试使用 HtmlAgilityPack 库来解析页面中的一些链接,但我没有看到我期望从这些方法中得到的结果。在下面,我有一个 HtmlNodeCollection 链接。对于每个链接,我想检查是否有图像节点,然后解析它的 attributes 但是 linkNode 的 SelectNodesSelectSingleNode 方法 似乎在搜索父文档而不是 linkNodechildNodes。给了什么?

HtmlDocument htmldoc = new HtmlDocument();
htmldoc.LoadHtml(content);
HtmlNodeCollection linkNodes = htmldoc.DocumentNode.SelectNodes("//a[@href]");

foreach(HtmlNode linkNode in linkNodes)
{
string linkTitle = linkNode.GetAttributeValue("title", string.Empty);
if (linkTitle == string.Empty)
{
HtmlNode imageNode = linkNode.SelectSingleNode("/img[@alt]");
}
}

有没有其他方法可以获取 linkNode 的图像子节点的 alt 属性(如果存在)?

最佳答案

您应该删除“/img[@alt]”中的正斜杠前缀,因为它表示您希望从文档的根部开始。

HtmlNode imageNode = linkNode.SelectSingleNode("img[@alt]");

关于c# - HtmlAgilityPack 选择的子节点不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/857198/

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