使用HtmlAgilityPack獲取i幀源

.net c# html-agility-pack xml xpath

我想在html doc上獲取所有iFrame源URL。我嘗試使用帶有xpath的HtmlAgilityPack - 但我似乎沒有得到一個源列表。

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

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

我的xpath錯了嗎?謝謝!

一般承認的答案

實際上這個開源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);
}

熱門答案

ifarme具有@src屬性。所以你的XPath應該是//iframe/@src 。它將選擇所有iframe @src



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因