2012-02-02 3 views
3

html 문서에서 모든 iFrame 소스 URL을 가져 오려고합니다. xpath와 함께 HtmlAgilityPack을 사용해 보았습니다.하지만 소스 목록을 얻지 못하는 것 같습니다.HtmlAgilityPack을 사용하여 i 프레임 소스 가져 오기

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

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

내 xpath가 잘못 되었나요? 감사!

답변

1

사실이 오픈 소스 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); 
} 
3

ifarme의 속성은 @src입니다. 따라서 XPath는 //iframe/@src이어야합니다. iframe@src을 모두 선택합니다.

+0

감사합니다! 어떻게하면 "HtmlNode framesrc"에서 실제 src URL을 가져올 수 있습니까? – kiki

관련 문제