Définir InnerText avec HtmlAgilityPack

c# html-agility-pack text

Question

J'ai essayé de définir InnerText en utilisant ce qui suit, mais je ne suis pas autorisé à définir la propriété InnerText:

node.InnerText = node.InnerText.Remove(100) + ".."; 

La raison en est que je veux seulement supprimer du texte, pas des éléments réels:

node.InnerText = node.InnerText.Remove(100) + ".."; 

Réponse acceptée

Je viens de rencontrer le même problème moi-même. Bien que la documentation indique que get ou set est clairement en lecture seule. Mais le texte interne s'applique à TOUT entre les balises. Donc, si vous avez des centaines d’enfants, TOUT le texte, y compris les étiquettes, sera présent. Je pense que pour faire ce que vous et moi voulons, nous devons utiliser la propriété Text. Obtenez la balise réelle et utilisez la propriété Text.

Alors peut être

HtmlTextNode.Text = "";

Veuillez noter que vous ne pouvez définir le texte que s'il est de type HtmlTextNode.

ou je pense que vous obtiendrez un meilleur résultat si vous retirez simplement l'étiquette et conservez les petits-enfants.

HtmlTextNode.Text = "";



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