HTML Agility Pack Sostituisci collegamenti

.net c# html-agility-pack

Domanda

Ho del codice usando HTML Agility Pack. Quello che sto cercando di fare è sostituire tutti i link nei contenuti html.

Ad esempio: sostituirò

http://oldserver/Documents/1.pdf 

a

http://oldserver/Documents/1.pdf 

Posso enumerare tutti i link e posso ottenere i loro valori, ma quando faccio doc.Save () si salva il sorgente HTML originale. Non l'html aggiornato. Come posso ottenere l'html aggiornato da HtmlDocument.

http://oldserver/Documents/1.pdf 

Risposta accettata

Questo dovrebbe funzionare meglio:

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



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché