簡體   English   中英

如何<span>在C#中</span>計算<span>具有特定類的</span>實例<span>?</span>

[英]How to count instances of <span> with a certain class in C#?

args.Content;

是動態的。

在此示例中,它具有此值,並且表示腳本輸入:

<div class="b-db">
<span class="b-db-ac b-db-ac-th" role="button"></span>
<span class="b-db-ac b-db-ac-th" role="button"></span>
<span class="b-db-ac b-db-ac-th" role="button"></span>
<span class="b-db-ac b-db-ac-th" role="button"></span>
<span class="b-db-ac" role="button"></span>
</div>

如何使用class =“ b-db-ac b-db-ac-th”計算span的實例數?

在此示例中,輸出應為:4

使用html時,請使用真正的html解析器,例如HtmlAgilityPack

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(DATA);

var count = doc.DocumentNode.SelectNodes("//span[@class='b-db-ac b-db-ac-th']")
               .Count();

您甚至可以使用純Linq

var count2 = doc.DocumentNode.Descendants("span")
                .Where(s => s.Attributes["class"]!=null && 
                            s.Attributes["class"].Value == "b-db-ac b-db-ac-th")
                .Count();

您將要使用HtmlAgilityPack 您需要專門在b-db-ac-th CSS類上進行查詢,以獲取問題中要求的4個元素。

這段代碼不是要復制/粘貼的,而是應該為您提供完成所需工作的方向。

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(args.Content);
var count = doc.DocumentNode.SelectNodes("//span").Count( d=> d.Attributes["class"].Value == "b-db-ac b-db-ac-th" );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM