HTML Agility Pack Remplacer les liens

.net c# html-agility-pack

Question

J'ai du code utilisant HTML Agility Pack. Ce que j'essaie de faire est de remplacer tous les liens dans le contenu HTML.

Par exemple: je remplacerai

http://oldserver/Documents/1.pdf 

à

http://oldserver/Documents/1.pdf 

Je peux énumérer tous les liens et obtenir leurs valeurs, mais lorsque je fais doc.Save (), il enregistre la source HTML d'origine. Pas le HTML mis à jour. Comment puis-je obtenir le code HTML mis à jour à partir de HtmlDocument.

http://oldserver/Documents/1.pdf 

Réponse acceptée

Cela devrait mieux fonctionner:

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi