C# 如何使用HtmlAlityPack获取链接(href)值
我一直在开发一个桌面应用程序,我正在获取链接的href值。我正在使用HtmlAgilityPack解析网页。 这是密码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")) {
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,未知;