c# xml, find nod and all his parents
===

i got xml structure like:

    <siteNode controller="a" action="b" title="" >
      <siteNode controller="aa" action="bb" title="" />
      <siteNode controller="cc" action="dd" title="" >
        <siteNode controller="eee" action="fff" title="" />
      </siteNode>
    </siteNode>

From 
<http://stackoverflow.com/questions/7563020/c-sharp-linq-to-xml-get-parents-when-a-child-satisfy-condition>

i got smth like this:
   

      XElement doc = XElement.Load("path");
            var result = doc.Elements("siteNode").Where(parent =>
         parent.Elements("siteNode").Any(child => child.Attribute("action").Value ==  ActionName     && child.Attribute("controller").Value == ControlerName));

which returns me node and his parent. How could i get not only parent of node but also his "grand parents" i mean parent of parent etc. So with my xml it would be:

    <siteNode controller="eee" action="fff" title="" /> 
    with parent 
    <siteNode controller="cc" action="dd" title="" >
    with parent
    <siteNode controller="a" action="b" title="" >

Obvious answer is to use that linq expression on found parent until its null, but is there any better(cleaner) way?

