我的网页上有这部分HTML代码:
<meta property="og:type" content="photo" />
<meta property="og:description" content="descrizione">
<meta property="og:site_name" content="Site_Name" />
<meta property="og:title" content="" />
<meta property="og:image" content="http://addfsfdbyhdfsifd.jpg" />
<meta property="og:determiner" content="a" />
<meta property="fb:app_id" content="124024574287414" />
<meta property="og:url" content="http://addfsfdbyhdfsifd.com" />
如何选择属性的内容=&#34; og:image&#34;?我需要获取该链接以在我的应用中显示它。
答案 0 :(得分:3)
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);
var props = doc.DocumentNode.Descendants("meta")
.ToDictionary( m => m.Attributes["property"].Value,
m => m.Attributes["content"].Value);
Console.WriteLine(props["og:image"]);
答案 1 :(得分:1)
这是不失败的方式。
什么解析字符串最好? Regular Expressions,就是这样。
这是你的解决方案:
var s = @"
<meta property=""og:type"" content=""photo"" />
<meta property=""og:description"" content=""descrizione"">
<meta property=""og:site_name"" content=""Site_Name"" />
<meta property=""og:title"" content="""" />
<meta property=""og:image"" content=""http://addfsfdbyhdfsifd.jpg"" />
<meta property=""og:determiner"" content=""a"" />
<meta property=""fb:app_id"" content=""124024574287414"" />
<meta property=""og:url"" content=""http://addfsfdbyhdfsifd.com"" />";
// first define what you will look for using regex pattern syntax
var p = @"meta\s{1,}property=""og:image""\s{1,}content=""(.+)""\s{0,}/>";
// second let the regex engine use your pattern against your html string
var m = System.Text.RegularExpressions.Regex.Match(s, p);
// third pull out just the part you want from the resulting match
var g = m.Groups[1];
// forth get the value from the meta tag, specifically the og:image you wanted
var i = g.Value;
是的,就这么简单。而Regex也使它更可靠。
祝你好运!
答案 2 :(得分:0)
设置HtmlDocument的代码:
var s = @"
<meta property=""og:type"" content=""photo"" />
<meta property=""og:description"" content=""descrizione"">
<meta property=""og:site_name"" content=""Site_Name"" />
<meta property=""og:title"" content="""" />
<meta property=""og:image"" content=""http://addfsfdbyhdfsifd.jpg"" />
<meta property=""og:determiner"" content=""a"" />
<meta property=""fb:app_id"" content=""124024574287414"" />
<meta property=""og:url"" content=""http://addfsfdbyhdfsifd.com"" />";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(s);
找到节点,获取属性。
var node = doc.DocumentNode.SelectNodes("//meta[@property='og:image']").FirstOrDefault();
var content = node != null
? node.GetAttributeValue("content", string.Empty)
: string.Empty;