Comment supprimer tous les nœuds enfants du nœud sélectionné - html-agility-pack

c# html-agility-pack wpf

Question

Très bien, je veux supprimer tous les nœuds enfants de ce nœud particulier

Ici le code source du noeud

<div class="Price fs30 clr8">
   7,
   <span class="PriceCurrency">73 TL
   <span class="kdv">KDV Dahil</span>
   </span>
   <div class="SaleDiv">
      %15
      <span>Ä°ndirim</span>
   </div>
</div>

Donc, je veux supprimer tous les enfants span et div enfants - en fait, tous les enfants, quel que soit le nœud

Après avoir enlevé ces enfants, je devrais obtenir 7, tant que innertext du noeud sélectionné

Ty beaucoup pour les réponses

c # .net 4.5 wpf

Réponse acceptée

Si vous vouliez conserver uniquement les nœuds de texte dans la <div> extérieure, vous pouvez sélectionner tous les nœuds enfants HTML à l'aide du sélecteur star XPath ( * ) et les supprimer. Voici un exemple d'application de console:

var html = @"<div class=""Price fs30 clr8"">
   7,
   <span class=""PriceCurrency"">73 TL
   <span class=""kdv"">KDV Dahil</span>
   </span>
   <div class=""SaleDiv"">
      %15
      <span>Ä°ndirim</span>
   </div>
</div>";
var doc = new HtmlDocument();
doc.LoadHtml(html);
var div = doc.DocumentNode.SelectSingleNode("//div[@class='Price fs30 clr8']");
foreach (HtmlNode node in div.SelectNodes("*"))
{
    node.Remove();
}
var innerText = div.InnerText.Trim();
Console.WriteLine(innerText);



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