[英]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.