use*_*861 1 html c# tags count
假设我在字符串中有一个HTML块:
<div class="nav mainnavs">
<ul>
<li><a id="nav-questions" href="/questions">Questions</a></li>
<li><a id="nav-tags" href="/tags">Tags</a></li>
<li><a id="nav-users" href="/users">Users</a></li>
<li><a id="nav-badges" href="/badges">Badges</a></li>
<li><a id="nav-unanswered" href="/unanswered">Unanswered</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
如何解析HTML并计算特定类型标记的实例数,例如<div>
或<li>
?
您可以使用HtmlAgilityPack - 最新版本支持Linq所以这很简单:
对于本地html文件:
HtmlDocument doc = new HtmlDocument();
doc.Load(@"test.html");
int liCount = doc.DocumentNode.Descendants("li").Count(); //returns 5
Run Code Online (Sandbox Code Playgroud)
来自网络:
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://stackoverflow.com");
int liCount = doc.DocumentNode.Descendants("li").Count();
Run Code Online (Sandbox Code Playgroud)