0

我正在尝试使用 HTMLAgility 解析以下内容:

<span class="button">
<a role="anotherbutton" href="/gofor/15555445554/be?ref=t">Me</a>
</span>

像这样:

foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//span[@class = 'button']/a[@role = 'anotherbutton']"))
        {
            string att = link.Attributes["href"].Value;
            txt_htmlResults.Text += att.ToString() + "\n";      
        }

但是我总是得到空异常......我的意图是获得15555445554。有人可以帮忙。先感谢您

4

1 回答 1

1

把它扔到我的 C 盘上的一个文本文件中:

    HtmlDocument doc = new HtmlDocument();
    doc.Load("C:\\temp\\stackhtml.html");
    //string link = doc.DocumentNode.SelectSingleNode("//span[@class='button']//a").OuterHtml;
    string rawLink = doc.DocumentNode.SelectSingleNode("//span[@class='button']//a").GetAttributeValue("href", "unkown");
    Console.WriteLine("rawLink: " + rawLink);
    string cleanedLink = rawLink.Substring(rawLink.IndexOf("r/")+2,rawLink.IndexOf("/b")-rawLink.IndexOf("r/")-2);
    Console.WriteLine("cleanedLink: " + cleanedLink);
    Console.ReadLine();

结果:

在此处输入图像描述

于 2014-10-25T20:40:31.773 回答