使用HtmlAgilityPack解析innerHTML

时间:2014-12-13 17:38:39

标签: c# xpath html-agility-pack selectsinglenode

试图弄清楚如何从已经解析过的信息中解析信息。

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);
    }
}

所以你可以通过'string h_url'声明看看我想要做些什么。在“result-link”div类中,有一个href属性,我试图获取href值。所以链接基本上。

似乎无法弄明白。我尝试过使用Attributes数组:

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

没有运气。

1 个答案:

答案 0 :(得分:2)

您可以使用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...
    }
}