Paquete de agilidad HTML: análisis de img src y href de rutas relativas

c# html-agility-pack

Pregunta

Tengo un html que tiene img src y enlace href como rutas relativas. Necesito pasar de una ruta URL relativa a una completa como "http: // localhost: port .." usando Html Agility Pack.

src = "/ Expo / imagename.s3lb" en S3 href = "../ Etch / Exposition / ... aspx? sflang = en"

¿Puede alguien decirme una manera de hacerlo? Gracias.

Respuesta aceptada

No puedo probar o ejecutar esto ahora, pero puedes probar algo así:

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



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué