HtmlAgilityPack을 사용하여 프레임 소스 가져 오기

.net c# html-agility-pack xml xpath

문제

html 문서에서 모든 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가 잘못 되었나요? 감사!

수락 된 답변

사실이 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 에는 ifarme 속성이 @src . 따라서 XPath는 //iframe/@src 이어야합니다. 모든 iframe @src 가 선택됩니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.