我有一个html,它有img src和链接href作为相对路径。我需要使用Html Agility Pack从“http:// localhost:port ..”等相对于完整的url路径移动。
S3中的src =“/ Expo / imagename.s3lb” HREF = “../蚀刻/博览会/ ... ASPX?sflang = EN”
有人可以告诉我一种方法吗?谢谢。
答案 0 :(得分:2)
我现在无法测试或运行,但您可以尝试这样的事情:
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;
}