HTML Agility包 - 从相对路径解析img src和href

时间:2012-07-16 17:48:28

标签: c# html-agility-pack

我有一个html,它有img src和链接href作为相对路径。我需要使用Html Agility Pack从“http:// localhost:port ..”等相对于完整的url路径移动。

S3中的

src =“/ Expo / imagename.s3lb” HREF = “../蚀刻/博览会/ ... ASPX?sflang = EN”

有人可以告诉我一种方法吗?谢谢。

1 个答案:

答案 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;    
}