в первую очередь.Вы уверены, что решение на стороне клиента, использующее JavaScript, не соответствует вашим потребностям?потому что самый простой способ подсчета узлов в HTML-документе - это использование jQuery в клиентском браузере.
<script src="http://code.jquery.com/jquery-1.7.min.js"></script>
<script>
$('html').children() // will give you all child elements of the html element
$('body').children() // same for body element
$('body').children('div') // will give you just the direct children elements of 'div' type
$('body').find('div') // will give you all the nested elements of 'div' type
</script>
если вы не знакомы с jQuery, взгляните на www.jquery.com
если вам все еще нужно решение C # для синтаксического анализа документа на стороне сервера, то я бы рекомендовал использовать HTMLAgilityPack (даже если вы этого не хотите).написание собственного синтаксического анализатора кажется мне пустой тратой времени, так как вам нужно учитывать искаженный html / xml и тому подобное, что может быть проблемой.
попробуйте использовать эту статью с переполнением s: лучший способ разобрать HTML в C #?
надеюсь, что он удовлетворит ваши потребности