bekomme ich Frame-Quelle mit HtmlAgilityPack

.net c# html-agility-pack xml xpath

Frage

Ich versuche, alle URL-URLs von iFrame auf ein HTML-Dokument zu bekommen. Ich habe versucht, HtmlAgilityPack mit Xpath zu verwenden - aber ich bekomme anscheinend keine Liste der Quellen.

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

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

Ist mein XPath falsch? Vielen Dank!

Akzeptierte Antwort

Tatsächlich verwendet dieser Open Source HTML Parser Abfrage wie folgende Abfrage:

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

Beliebte Antwort

ifarme hat das Attribut @src . Dein XPath sollte also //iframe/@src . Es wird @src aller iframe auswählen.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum