Является ли метод Descendants()
тем, что вы ищете?
Это получит всех потомков - чтобы получить только листья, вы можете использовать LINQ to Objects с предложением Where
:
element.Descendants()
.Where(desc => !desc.Elements().Any());
(Обратите внимание, что это все еще только элементы, а не другие узлы, такие как текстовые узлы. Надеюсь, это нормально.)