HtmlAgiltyPack analyse le code HTML et retire la valeur de la balise span et du nom de la classe

asp.net asp.net-mvc c# html html-agility-pack

Question

J'ai un fichier HTML que je télécharge via mon client webrequest. Et hors du code HTML complet, je souhaite analyser uniquement cette partie du code HTML:

<span class="sku">
<span class="fb">SKU                            :</span>118880101
</span>

J'utilise HTML agilty pack pour récupérer cette valeur: 118880101

Et j'ai écrit quelque chose comme ça:

 HtmlDocument htmlDoc = new HtmlDocument();
 htmlDoc.LoadHtml(html);
 return htmlDoc.DocumentNode.SelectNodes("//span[@class='sku']").ElementAt(0).InnerText;

Et cela me renvoie cette valeur de HTML:

SKU                            :118880101

Littéralement comme ceci, espaces inclus ... Comment puis-je corriger cette logique avec le pack HTML Agilty afin de ne pouvoir extraire que cette valeur 118880101?

Est-ce que quelqu'un peut m'aider?

Edit: un regex comme celui-ci ferait l'affaire:

Substring(skuRaw.LastIndexOf(':') + 1);

ce qui voudrait dire tout prendre après ": 'la chaîne de connexion que je reçois ... Mais je ne sais pas s'il est prudent d'utiliser regex comme ceci?

Réponse acceptée

Essaye ça

     HtmlDocument htmlDoc = new HtmlDocument();
     htmlDoc.LoadHtml(html);
     var innerText=htmlDoc.DocumentNode.SelectNodes("//span[@class='sku']")
                          .ElementAt(0).InnerText;
     return innerText.replace(/\D/g,'');

si vous voulez utiliser uniquement le pack Agility HTML, essayez ceci

       var child = htmlDoc.DocumentNode.SelectNodes("//span[@class='fb']")
                           .FirstOrDefault();
        if (child != null)
        {
            var parent = child.ParentNode;
            parent.RemoveChild(child);
            var innerText = parent.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