title: query xmlnode using linq
body: <p>I have following file:</p>
  
  <pre><code>&lt;root&gt;
    &lt;Product desc="Household"&gt;
      &lt;Product1 desc="Cheap"&gt;
          &lt;Producta desc="Cheap Item 1" category="Cooking" /&gt;
          &lt;Productb desc="Cheap Item 2" category="Gardening" /&gt;
      &lt;/Product1&gt;
      &lt;Product2 desc="Costly"&gt;
          &lt;Producta desc="Costly Item 1" category="Decoration"/&gt;
          &lt;Productb desc="Costly Item 2" category="Furnishing" /&gt;
          &lt;Productc desc="Costly Item 3" category="Pool" /&gt;
      &lt;/Product2&gt;
    &lt;/Product&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>I want to find out info like: Total items in Cheap and Costly, 
  list of all category (like Cooking, Gardening, DEcoration...), list of sorted category and select only the Product which is 'Costly'</p>
  
  <p>How can i do using LINQ. 
  I did this till now:</p>
  
  <pre><code> XElement xe = XElement.Load(Server.MapPath("~/product.xml"));
   ????
  </code></pre>