【发布时间】:2016-06-08 11:09:43
【问题描述】:
我该如何解决这个问题??
给定的键不在字典中
这是错误信息:
在 mscorlib.dll 中发生了“System.Collections.Generic.KeyNotFoundException”类型的未处理异常
附加信息:给定的键不在字典中
预览:http://i.stack.imgur.com/Acu1g.png
static void Main(string[] args)
{
HtmlWeb web = new HtmlWeb();
string url = "http://linsa.softinsa.com/account/login";
HtmlDocument document = web.Load(url);
var head = document.DocumentNode.SelectSingleNode("//head");
var meta = head.SelectNodes("//meta").AsEnumerable();
var link = document.DocumentNode.SelectSingleNode("//head").SelectNodes("//link").AsEnumerable();
var titulo = "" ;
var descricao = "" ;
var linkImg = "" ;
var linkIcon = "" ;
Uri myUri = new Uri(url);
string host = myUri.Host;
var fbProperties = (head.SelectNodes("//meta[contains(@property, 'og:')]") ?? Enumerable.Empty<HtmlNode>())
.ToDictionary(n => n.Attributes["property"].Value, n => n.Attributes["content"].Value);
linkIcon = (head.SelectSingleNode("//link[contains(@rel, 'apple-touch-icon')]")?.Attributes["href"]?.Value) ??
(head.SelectSingleNode("//link[conntains((@rel, 'icon']")?.Attributes["href"]?.Value) ??
host + "/favicon.ico";
var title = head.SelectSingleNode("//title")?.InnerText;
titulo = fbProperties["og:title"] ?? title ?? "";
descricao = fbProperties["og:description"];
linkImg = fbProperties["og:image"];
Console.WriteLine("");
Console.WriteLine("Titulo:");
Console.WriteLine(titulo);
Console.WriteLine("");
Console.WriteLine("Descriçao:");
Console.WriteLine(descricao);
Console.WriteLine("");
Console.WriteLine("Link da Imagem:");
Console.WriteLine(linkImg);
Console.WriteLine("");
Console.WriteLine("Link do Icon:");
Console.WriteLine(linkIcon);
Console.ReadLine();
}
}
}
【问题讨论】:
标签: c# dictionary