C# 如何使用HtmlAlityPack获取链接(href)值

C# 如何使用HtmlAlityPack获取链接(href)值,c#,html-agility-pack,C#,Html Agility Pack,我一直在开发一个桌面应用程序,我正在获取链接的href值。我正在使用HtmlAgilityPack解析网页。 这是密码 int count=0; foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//div[@id='ann123']//table")) { foreach (HtmlNode row in table.SelectNodes("tr")) {

我一直在开发一个桌面应用程序,我正在获取链接的href值。我正在使用HtmlAgilityPack解析网页。 这是密码

int count=0;
foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//div[@id='ann123']//table"))
            {

            foreach (HtmlNode row in table.SelectNodes("tr"))
            {
                DataRow dr = dt.NewRow();

                foreach (HtmlNode cell in row.SelectNodes("td"))
                {
                    if ((count % 2 == 0))
                    {
                        dr["Name"] = cell.InnerText.Replace(" ", " ");
                    }
                    else
                    {
                        HtmlAttribute att = cell.Attributes["href"];

                        dr["Value"] = cell.InnerText.Replace(" ", " ") + att.Value;
                        dt.Rows.Add(dr);
                    }
                    count++;
                }
            }
此代码在尝试在dr[Value]中打印附件值时出错。如果我删除att.值,它会很好地打印文本。但我也想要链接。 当我打印cell.InnerHtml的值时;我得到这样的东西

<span><a href="uploads/NRI.pdf" target="_blank" style="font-size:12px; font-family:Arial, Verdana, Georgia, Tahoma; color:#0B2C57;">B.Tech Admission List Under NRI Category 2013-14</a></span>
我想要的是获取href值,即uploads/NRI.pdf作为字符串,并在我的应用程序中显示为链接,因为它是html中的链接表,所以我想要每个表条目的链接。 我发现了类似的东西:


请帮助社区?

您得到的错误是什么?对象引用未设置为对象的实例。您正在从节点中选择单元格将指向的对象-因此获取href属性可能会返回空值。。。你应该看看标签,所以。。我应该在xpath中使用td//a吗。如果你想看的话,你可以看看这张桌子。这是公告表。也许这样行吗?字符串url=cell.Elementa.GetAttributeValuehref,未知;