Пакет гибкости HTML - разбор img src и href из относительных путей

c# html-agility-pack

Вопрос

У меня есть html, который имеет img src и link href как относительные пути. Мне нужно перейти от относительного к полному URL-адресу, например «http: // localhost: port ..», используя Html Agility Pack.

src = "/ Expo / imagename.s3lb" в S3 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 with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему