【问题标题】:get iframe source using HtmlAgilityPack使用 HtmlAgilityPack 获取 iframe 源
【发布时间】:2012-02-24 23:44:56
【问题描述】:

我正在尝试获取 html 文档上的所有 iFrame 源 URL。我尝试将 HtmlAgilityPack 与 xpath 一起使用 - 但我似乎没有得到源列表。

HtmlAgilityPack.HtmlDocument myHtml= new HtmlDocument();
myHtml.LoadHtml(htmlString);

foreach (HtmlNode framesrc) in myHtml.DocumentNode.SelectNodes("//iframe/src"))
{
    srcCollection.add(framesrc);
}

我的 xpath 错了吗?

【问题讨论】:

    标签: c# .net xml xpath html-agility-pack


    【解决方案1】:

    ifarme 具有属性@src。所以你的 XPath 应该是//iframe/@src。它将选择所有iframe 中的@src

    【讨论】:

    • 谢谢!你知道我如何从“HtmlNode framesrc”中获取实际的 src url 吗?
    【解决方案2】:

    实际上这个开源的 html 解析器使用如下查询:

    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
    
    HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//iframe[@src]");
    
    
    foreach(var node in nodes){
        HtmlAttribute attr = node.Attributes["src"];
        Console.WriteLine(attr.Value);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 2021-05-30
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多