2017-01-04 13 views
2

私はこれについてたくさん検索しましたが、うまくいきません。メタタグのコンテンツ属性の値を取得したい。これは私のコードです:コンテンツ属性を持つメタタグを取得するhtmlagilitypack

public string getTheImagesUrl(string url) 
{ 
    HtmlDocument doc = new HtmlDocument(); 
    doc.LoadHtml(url); 

    string xpath = "//meta[@property='og:image'"; 
    StringBuilder sb = new StringBuilder(); 
    foreach (HtmlNode node in doc.DocumentNode.Descendants(xpath)) 
    { 
     sb.AppendLine(node.Attributes["content"].Value); 
    } 
    return sb.ToString(); 
} 

これは何も返しません。どんな助けもありがとう。

答えて

0

私はそれがHtmlAgilityPackで動作するように取得しますが、ここではAngleSharp

var config = Configuration.Default.WithDefaultLoader(); 
string address = "http://stackoverflow.com"; 

return (await BrowsingContext.New(config).OpenAsync(address)) 
    .DocumentElement.Descendents() 
    .Where(x => x.NodeType == NodeType.Element) 
    .OfType<IHtmlMetaElement>() 
    .Where(x => x.Attributes["property"]?.Value == "og:image") 
    .Select(x => x.Attributes["content"]?.Value) 
    .FirstOrDefault(); 
と実施例であることができませんでした
関連する問題