HTMLAgilityPack - Supprime le nœud sans enlever le texte intérieur

c# html-agility-pack

Question

Mon contenu HTML est

<a href="#asdf">asdf</a>
<H5 align="left"><A href="#d570525d497.htm#toc">Table 
of Contents</A><br></H5>

J'utilise HTML Agility Pack pour charger le code HTML. Je souhaite rechercher <a> nœuds et supprimer le nœud sans supprimer son texte interne, comme indiqué ci-dessous

asdf
<H5 align="left">Table 
of Contents<br></H5>

J'utilise le code ci-dessous,

var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
var Nodes = htmlDocument.DocumentNode.SelectNodes("//a");
foreach (var Node in Nodes)
{
    Node.InnerText.Trim();
}

Ça ne fonctionne pas. Quelque chose ne va pas avec le code?

Réponse populaire

Supprimer le noeud du parent tout en gardant les petits enfants

foreach (var Node in Nodes)
{
    Node.ParentNode.RemoveChild(Node, true); //<-- keepGrandChildren
}

var newhtml = htmlDocument.DocumentNode.OuterHtml;

sortie:

asdf
<h5 align="left">Table 
of Contents<br></h5>



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