title: How to get first level of children by LINQ
body: <p>I have such XMl</p>
  
  <pre><code>&lt;root&gt;
      &lt;list&gt;
          &lt;list&gt;
              &lt;topic&gt;&lt;/topic&gt;
              &lt;topic&gt;&lt;/topic&gt;
          &lt;/list&gt;
          &lt;topic&gt;&lt;/topic&gt;
          &lt;topic&gt;&lt;/topic&gt;
      &lt;/list&gt;
      &lt;topic&gt;&lt;/topic&gt;
      &lt;topic&gt;&lt;/topic&gt;
      &lt;topic&gt;&lt;/topic&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>I need to get the first level of children:</p>
  
  <pre><code>&lt;list&gt;&lt;/list&gt;
  &lt;topic&gt;&lt;/topic&gt;
  &lt;topic&gt;&lt;/topic&gt;
  &lt;topic&gt;&lt;/topic&gt;
  </code></pre>
  
  <p>I try to do like this</p>
  
  <pre><code>var list = x.Descendants().Where(e =&gt; e.Name == "list" || e.Name == "topic");
  </code></pre>
  
  <p>But it returns all topics and lists.</p>
  
  <p>Please help! :)</p>