Bonjour, je parcours tous les liens de ma propre base de code et les <a href="x">
de <a href="x">
à <asp:HyperLink>
pour des raisons de localisation. J'utilise le HTMLAgilityPack pour cela (et d'autres choses) et j'aimerais changer l'objet OuterHtml pour les liens que je trouve..mais c'est en lecture seule?
Je suis nouveau sur HAP. Dois-je créer un nouveau noeud et supprimer l'ancien? Quelqu'un at-il couru dans cela?
Merci!
Pourquoi utiliser le pack d'agilité HTML si vous traitez l'ensemble du document comme une chaîne. Recherchez plutôt les balises et remplacez-les, puis écrivez le document.
var doc = new HtmlDocument();
doc.LoadHtml(yourString); // or doc.Load(yourStream);
var links = doc.DocumentNode.Descendants("a");
foreach (var link in links)
{
link.Parent.Replace(ConvertLink(link), link);
}
string newDocument = doc.DocumentNode.OuterHtml; // Or doc.Save();
Et votre ConvertLink
ressemblerait à ceci:
public HtmlNode ConvertLink(HtmlNode aTag)
{
var link = HtmlNode.Create("asp:HyperLink");
link.Attributes.Add(...);
return link;
}
(non compilé, donc peut-être besoin de quelques ajustements).