HtmlAgiltyPackはHTMLを解析し、スパンタグとクラス名の値を取ります

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

質問

私は自分のWeb要求クライアントからダウンロードしたHTMLを持っています。そして、HTML全体のうち、私はHTMLのこの部分だけを解析したい:

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

私はこの値を取得するためにHTMLアジティ・パックを使用しています:118880101

そして、私はこう書いた:

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

これはHTMLからこの値を返します:

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

文字通りこのように、スペースが含まれています...私はこの118880101の値を取り出すことができるように、HTMLのAgiltyパックでこのロジックを修正する方法はありますか?

誰かが私を助けることができますか?

編集:このような正規表現は、事を行うだろう:

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

それは私が受け取る文字列の ":"サインの後にすべてを取ることを意味するでしょう...しかし、これのような正規表現を使うのが安全かどうかはわかりません。

受け入れられた回答

これを試して

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

Html Agilityパックのみを使用したい場合は、これを試してみてください

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



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ