Meilleur LINQ-to-XML de requête pour sélectionner les nœuds basé sur les propriétés des nœuds descendants?

J'ai le document XML suivant:

<?xml version="1.0" encoding="UTF-8"?>
<FamilyTree>
  <Parent name="Ken">
    <Child name="Lorna">
      <Grandchild name="Andrew"/>
      <Grandchild name="Brian"/>
    </Child>
    <Child name="Mike">
      <Grandchild name="Ann"/>
      <Grandchild name="Beth"/>
    </Child>
  </Parent>
  <Parent name="Norma">
    <Child name="Owen">
      <Grandchild name="Charles"/>
    </Child>
    <Child name="Peter">
      <Grandchild name="Charlotte"/>
    </Child>
  </Parent>
  <Parent name="Quinn">
    <Child name="Robert">
      <Grandchild name="Debbie"/>
      <Grandchild name="Eric"/>
    </Child>
    <Child name="Susan">
      <Grandchild name="Frank"/>
    </Child>
  </Parent>
  <Parent name="Tom">
    <Child name="Ursula">
      <Grandchild name="George"/>
      <Grandchild name="Harriet"/>
    </Child>
    <Child name="Victor">
      <Grandchild name="Ian"/>
      <Grandchild name="Juliet"/>
    </Child>
  </Parent>
</FamilyTree>

Je suis en train de sélectionner tous les "Parents" avec un Enfant qui a au moins deux enfants ("petit-fils") de son/sa propre. Notez que je suis pas la recherche pour "Parents" avec au moins deux "petit-fils[ren]".

La suite d'une requête LINQ fonctionne, mais j'ai le sentiment que ça n'est pas la plus élégante.

IEnumerable<XElement> parents = (from c in familyTreeElement.Descendants("Child")
                                 where c.Elements().Count() > 1
                                 select c.Parent).Distinct();

Est-il une meilleure façon de préciser ce?

Premier commentaire - c'est de vérifier pour au moins deux enfants...
Je vous remercie. J'ai corrigé la faute de frappe. Je n'ai en effet voulons vérifier au moins deux enfants.

OriginalL'auteur Gayle | 2009-04-24