title: Hi, How to parse xml with descendants within descendants C#
body: <p>I am trying to parse this xml and can successfully get the name and description but putting together the image is tricky. Both separate code parses work but I'd like to do one parse so I can bind them all to one listbox.</p>
  
  <p>The xml looks like this</p>
  
  <pre><code>&lt;stickers&gt;
      &lt;sticker&gt;
          &lt;imageData&gt;
              &lt;baseImageUrl&gt; ... want this  &lt;/baseImageUrl&gt;
              &lt;sizes&gt;
                  &lt;size&gt;  don't care about this &lt;/size&gt;
              &lt;/size&gt;
              &lt;imageUrlSuffix&gt; ..want this &lt;/imageUrlSuffix&gt;
          &lt;/imageData&gt;
          &lt;description&gt;.... want this &lt;/description&gt;
          &lt;name&gt;  --want this &lt;/name&gt;
      &lt;sticker&gt;
  &lt;stickers&gt;
  </code></pre>
  
  <p>My code works for both but separately. How do I combine this into one parse...</p>
  
  <pre><code>XDocument streamFeed = XDocument.Load(new StringReader(response.Content));
  var imagedata = from query in streamFeed.Descendants("sticker").Elements("imageData")
      select new Stickers
      {
          image = (string)query.Element("baseImageUrl") + "huge" + (string)query.Element("imageUrlSuffix"),
      };
  
  
  var data = from query in streamFeed.Descendants("sticker")
      select new Stickers
      {
          name = (string)query.Element("name"),
          description = (string)query.Element("description"),   
      };
  
  stickersListBox.ItemsSource = imagedata.Union(data);
  </code></pre>
  
  <p>The data displays in the listbox but with the stickers above the description and not side by side.</p>
  
  <p>Thanks</p>
  
  <hr>
  
  <p>Thanks to Thomas below, the following code works but some user profiles get a Null Referenced Exception (including my own profile which obviously has data) Thanks Thoamas for the assistance perhaps this is an unrelated bug?  </p>
  
  <pre><code>XDocument streamFeed = XDocument.Load(new StringReader(response.Content));
  
                      var query =
                          from sticker in streamFeed.Root.Descendants("sticker")
                          let imageData = sticker.Element("imageData")
                          select new Stickers
                          {
                              name = (string)sticker.Element("name"),
                              description = (string)sticker.Element("description"),
                              image = (string)imageData.Element("baseImageUrl") + "huge" + (string)imageData.Element("imageUrlSuffix")
                          };
  
                      stickersListBox.ItemsSource = query;
  </code></pre>