получить исходный источник i с помощью HtmlAgilityPack

.net c# html-agility-pack xml xpath

Вопрос

Я пытаюсь получить все исходные URL-адреса iFrame в html-документе. Я пробовал использовать HtmlAgilityPack с xpath - но, похоже, я не получаю список источников.

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

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

Является ли мой xpath неправильным? Благодаря!

Принятый ответ

На самом деле этот openSource-анализатор 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 . Он выберет @src из всех iframe .



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow