title: Why does XmlDocument.GetElementById always return null?
body: <p>I've got some XML (valid XHTML) that looks like this:</p>
  
  <pre><code>&lt;html&gt;
      &lt;head&gt;
          &lt;script type="text/javascript"&gt;
              &lt;![CDATA[
                  function change_header(){
                      document.getElementById("myHeader").innerHTML="Nice day!";
                  }]]&gt;
          &lt;/script&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;h1 id="myHeader"&gt;Hello World!&lt;/h1&gt;
          &lt;button onclick="change_header()"&gt;Change text&lt;/button&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>And I'm trying to get the <code>#myHeader</code> node using <code>docment.GetElementById("myHeader")</code> but it always returns <code>null</code>. Why?</p>
  
  <p>I'm <em>guessing</em> it doesn't recognize the <code>id</code> attribute as <em>the</em> id attribute without a DTD or something? If that's the case, how can I get it to use an HTML DTD?</p>