C# HtmlAlityPack获取具有内容属性的元标记

C# HtmlAlityPack获取具有内容属性的元标记,c#,xamarin,C#,Xamarin,我已经搜索了很多关于这方面的信息,但它就是不起作用。我想获取meta标记的content属性中的值。这是我的代码: public string getTheImagesUrl(string url) { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(url); string xpath = "//meta[@property='og:image'"; StringBuilder sb = new Stri

我已经搜索了很多关于这方面的信息,但它就是不起作用。我想获取meta标记的content属性中的值。这是我的代码:

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();
}

这不会返回任何结果。任何帮助都将不胜感激。

我无法让它与HtmlAgilityPack一起工作,但这里有一个与HtmlAgilityPack一起工作的示例

var config=Configuration.Default.WithDefaultLoader();
字符串地址=”http://stackoverflow.com";
返回(wait BrowsingContext.New(config.OpenAsync(address))
.DocumentElement.degents()
.Where(x=>x.NodeType==NodeType.Element)
第()类
.Where(x=>x.Attributes[“property”]?.Value==“og:image”)
.Select(x=>x.Attributes[“content”]?.Value)
.FirstOrDefault();

查询选择器行中似乎缺少右括号字符。只需一行简单的代码,就可以完成所需的操作,如下所示

doc.DocumentNode.SelectSingleNode("//meta[@property='og:image']").GetAttributeValue("content", null);
doc.DocumentNode.SelectSingleNode("//meta[@property='og:image']").GetAttributeValue("content", null);