HTML Agility Pack Reemplazar enlaces

.net c# html-agility-pack

Pregunta

Tengo algo de código usando HTML Agility Pack. Lo que estoy tratando de hacer es reemplazar todos los enlaces en los contenidos html.

Por ejemplo: voy a reemplazar

http://oldserver/Documents/1.pdf 

a

http://oldserver/Documents/1.pdf 

Puedo enumerar todos los enlaces y puedo obtener sus valores, pero cuando hago doc.Save () guarda la fuente html original. No el html actualizado. ¿Cómo puedo obtener el html actualizado de HtmlDocument.

http://oldserver/Documents/1.pdf 

Respuesta aceptada

Esto debería funcionar mejor:

foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
        {
            HtmlAttribute att = link.Attributes["href"];
            att.Value = RepairHyperlinkAddress(att.Value, web);
        }

foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//img[@src]"))
        {
            HtmlAttribute att = link.Attributes["src"];
            att.Value = RepairHyperlinkAddress(att.Value, web);
        }



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é