С XmlRreader вы работаете по другой схеме. Вы всегда являетесь на каком-то текущем узле, и вы переключаетесь на следующий. Для текущего узла вы можете спросить IsEmptyElement
(который говорит, имеет ли тег форму <something attr=value/>
. Если элемент пуст, очевидно, у вас нет дочерних элементов.
Рассмотрим случай, когда IsEmptyElement
ложно, теперь у вас есть что-то вроде <something> <maybechild/> </something>
. Вы можете сказать ReadStartElement
, что приведет вас к следующей позиции. Для следующей позиции вы проверяете IsStartElement
. Если это правда, у вас есть ребенок, и вы на это. Если нет, то вы на </something>
, а детей нет.
Еще немного документации: http://msdn.microsoft.com/en-us/library/t9bfea29.aspx.