title: Parsing elements in second nesting level of XML file
body: <p>I am working on a little executable application. The application is simply an XML Parser that will parse an XML file and store the data parsed into a database. So the XML file that this application will do its magic on has the following structure:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;events&gt;
      &lt;event&gt;
          &lt;book&gt;Felicity Fly&lt;/book&gt;
          &lt;author&gt;Christina Gabbitas&lt;/author&gt;
          &lt;bookImgUrl&gt;http://www.whsmith.co.uk/Images/Products\957\255\9780957255203_t_f.jpg&lt;/bookImgUrl&gt;
          &lt;info&gt;Christina Gabbitas will be signing copies of her new book, Felicity Fly. Books should be bought from WHSmith. Proof of purchase may be necessary&lt;/info&gt;
          &lt;date&gt;25 May 2013&lt;/date&gt;
          &lt;startTime&gt;10:30&lt;/startTime&gt;
          &lt;location&gt;
              &lt;name&gt;WHSmith Brent Cross&lt;/name&gt;
              &lt;address&gt;Brent Cross Shopping Centre&lt;/address&gt;
              &lt;city&gt;London&lt;/city&gt;
              &lt;county/&gt;
              &lt;postcode&gt;NW4 3FB&lt;/postcode&gt;
              &lt;tel&gt;020 8202 4226&lt;/tel&gt;
          &lt;/location&gt;
      &lt;/event&gt;
      &lt;!-- many more events as above here --&gt;
  &lt;/events&gt;
  </code></pre>
  
  <p>And here is what I have so far in terms of code parsing logic.</p>
  
  <pre><code>namespace XMLParser
  {
      public class Parser
      {
          static void Main(string[] args)
          {
              var path_to_xml = "data.xml";
              var xdoc = XDocument.Load(path_to_xml);
              var events = from e in xdoc.Descendants("event")
                           select new {
                               Book = (string)e.Element("book").Value,
                               Author = (string)e.Element("author").Value,
                               BookImgUrl = (string)e.Element("bookImgUrl").Value,
                               Info = (string)e.Element("info").Value,
                               Date = (string)e.Element("date").Value,
                               Time = (string)e.Element("startTime").Value,
                               // stuck here
                           }
          }
      }
  }
  </code></pre>
  
  <p>I get stuck where I get to the Location node, I don't know how to parse the location related information.</p>