使用 HtmlAgilityPack 解析 innerHTML

本文关键字:innerHTML 解析 HtmlAgilityPack 使用 | 更新日期: 2023-09-27 18:34:06

只是想弄清楚如何从已经解析的信息中解析信息。

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//div [@class='"result-link'"]"))
{
    if (node == null)
        Console.WriteLine("debug");
    else
    {
        //string h_url = node.Attributes["a"].Value;
        Console.WriteLine(node.InnerHtml);
    }
}

所以你可以看看我试图用"字符串h_url"声明做什么。在"结果链接"div 类中,有一个 href 属性,我正在尝试获取 href 值。所以链接基本上。

似乎想不通。我尝试使用属性数组:

string h_url = node.Attributes["//a[@href].Value;

没有运气。

使用 HtmlAgilityPack 解析 innerHTML

可以使用 XPath 选择相对于当前节点的元素:

HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='result-link']");
if (nodes != null)
{
    foreach (HtmlNode node in nodes)
    {
        HtmlNode a = node.SelectSingleNode("a[@href]");
        if (a != null)
        {
            // use  a.Attributes["href"];
        }
        // etc...
    }
}