HtmlAgilityPack - Supprime les nœuds enfants mais conserve le texte interne du nœud principal sans XPath

c# html-agility-pack

Question

J'ai du HTML comme:

<div class="asd"> lalala </br> lalala2 <div> aaaaa </div> </div>

Je n'ai besoin que de "lalala \ n lalala2" sans utiliser XPath.

Réponse acceptée

Vous pouvez créer une méthode d'extension pour HtmlNode

public static class HtmlHelper
{
    public static string InnerText(this HtmlNode node)
    {
        var sb = new StringBuilder();
        foreach (var x in node.ChildNodes)
        {
            if (x.NodeType == HtmlNodeType.Text)
                sb.Append(x.InnerText);

            if (x.NodeType == HtmlNodeType.Element && x.Name == "br")
                sb.AppendLine();
        }

        return sb.ToString();
    }
}

il suffit de trouver le noeud et d'appeler node.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