title: XElement and XName crashes when xml has namespace to root node
body: <p>Hi i was fiddeling around with xml files and i notised something i have a bit problem of solving.</p>
  
  <p>I have a Xml that starts with a root node and then has another child node that can change name for example:</p>
  
  <pre><code>&lt;root&gt;
    &lt;Child1&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>So given that "Child1" can be changed to "Child2" or "Child3" i made this linq  be able to extract the name from whatever comes my way.</p>
  
  <p>first:</p>
  
  <pre><code>XElement root = XElement.Parse(xml);
  
  var childType = root.Descendants().First(x =&gt; x.Name == "Child1" || x.Name == "Child2"|| x.Name == "Child3").Name;
  </code></pre>
  
  <p>So when i have my xml without a namespace, as shown above, it workes fine, i manage to extract the name from the node tag.</p>
  
  <p>But when i have a namespace into the root tag it throws an error:</p>
  
  <pre><code>&lt;root xmlns="namespace"&gt;
    &lt;Child1&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>That xml going through the same linq, throws:</p>
  
  <blockquote>
    <p>Sequence contains no matching element</p>
  </blockquote>