title: Why does C# remove my second xml namespace attribute when building this XmlDocument?
body: <p>I have the code:</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Xml;
  
  namespace XmlNameSpacingTesting
  {
      class Program
      {
          static void Main(string[] args)
          {
              XmlDocument output = new XmlDocument();
              XmlNode baseNode = output.CreateElement("idat");
              XmlAttribute xmlnsAttribute = output.CreateAttribute("xmlns:xsi");
              xmlnsAttribute.Value = "http://www.w3.org/2001/XMLSchema-instance";
              baseNode.Attributes.Append(xmlnsAttribute);
              XmlAttribute xsiAttribute = output.CreateAttribute("xsi:noNamespaceSchemaLocation");
              xsiAttribute.Value = "C:\\sub.xsd";
              baseNode.Attributes.Append(xsiAttribute);
              output.AppendChild(baseNode);
              // DumbSubNode
              XmlNode firstNode = output.CreateElement("Sub-Node1");
              firstNode.InnerText = "Single Sub-Node";
              baseNode.AppendChild(firstNode);
              output.Save("Test.xml");
          }
      }
  }
  </code></pre>
  
  <p>I would expect an output of:</p>
  
  <pre><code>&lt;idat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\sub.xsd"&gt;
    &lt;Sub-Node1&gt;Single Sub-Node&lt;/Sub-Node1&gt;
  &lt;/idat&gt;
  </code></pre>
  
  <p>But I get an output of:</p>
  
  <pre><code>&lt;idat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" noNamespaceSchemaLocation="C:\sub.xsd"&gt;
    &lt;Sub-Node1&gt;Single Sub-Node&lt;/Sub-Node1&gt;
  &lt;/idat&gt;
  </code></pre>
  
  <p>On the XmlAttribute xsiAttribute it's taking away the "xsi:" and I don't know why. Any help? </p>