C# HtmlAgility Xpath问题

C# HtmlAgility Xpath问题,c#,parsing,html-agility-pack,C#,Parsing,Html Agility Pack,我正在尝试使用HTML功能解析以下内容: <span class="button"> <a role="anotherbutton" href="/gofor/15555445554/be?ref=t">Me</a> </span> 然而,我总是得到空异常。。。我的目的是得到1555544554。有人能帮忙吗。提前感谢您将其放入我的c盘上的文本文件中: HtmlDocument doc = new HtmlDocument();

我正在尝试使用HTML功能解析以下内容:

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

然而,我总是得到空异常。。。我的目的是得到1555544554。有人能帮忙吗。提前感谢您

将其放入我的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();
结果:


在foreach循环中,空异常发生在哪里?您调试过它吗?您是否验证了
link.Attributes[“href”]
是否确实返回了某些内容?问题出在doc.DocumentNode.SelectNodes中,它返回null。。。。例如,如果我将//a[@href]放在页面中,则Xpath是不正确的。您正试图解析的正是上面的HTML,还是来自更大的文档?
SelectNodes
如果无法将任何节点与Xpath匹配,则返回null,但您的Xpath在给定的HTML上对我有效。。。您确定输入的HTML是这样的吗?
    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();