c# - htmlagilitypack 获取具有内容属性的元标记

标签 c# xamarin

我已经对此进行了很多搜索,但它就是行不通。我想获取元标记的内容属性中的值。这是我的代码:

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

这不会返回任何内容。任何帮助将不胜感激。

最佳答案

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

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

关于c# - htmlagilitypack 获取具有内容属性的元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41454453/

相关文章:

c# - 从非异步方法调用异步方法

c# - 控件 'seems' 被锁定

c# - 在 Xamarin Forms 中添加值后 ListView 不刷新

c# - 以编程方式锁定屏幕

c# - 弹出浏览器兼容性

c# - 在 Windows 上开发但在 Linux 上运行的 ASP.NET 5

c# - Xamarin MVVM 自定义模型属性?

forms - Xamarin Forms XAML 设计实例

c# - 不同的类型转换行为

mvvm - 在 xamarin 表单 MVVM 中从服务加载数据的最佳位置