HTML Agility包 - 從相對路徑解析img src和href


我有一個html,它有img src和鏈接href作為相對路徑。我需要使用Html Agility Pack從“http:// localhost:port ..”轉移到相對完整的url路徑。

S3中的src =“/ Expo / imagename.s3lb”href =“../ Etch / Exposition / ... aspx?sflang = en”

有人可以告訴我一種方法嗎?謝謝。

一般承認的答案

我現在無法測試或運行,但您可以嘗試這樣的事情:

var htmlStr = "yourhtml";
var doc = new HtmlDocument();
doc.LoadHtml(htmlStr);
var baseUri = new Uri("baseUriOfYourSite");
var images = doc.DocumentNode.SelectNodes("//img/@src").ToList();
var links = doc.DocumentNode.SelectNodes("//a/@href").ToList();
foreach (var item in images.Concat(links))
{
    item.InnerText =  new Uri(baseUri, item.InnerText).AbsoluteUri;    
}




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