title: Polymorphic element typenames using XmlInclude..?
body: <p>I want to create a structure like:</p>
  
  <pre><code>&lt;root&gt;
   &lt;items&gt;
    &lt;myns:a s="a"/&gt;
    &lt;b s="a"/&gt;
   &lt;/items&gt;
  &lt;/root&gt;
  </code></pre>
  
  <p>Where the items in root are descendant from a common base class. I just cannot get it working. The following snippet creates</p>
  
  <pre><code>&lt;root&gt;
   &lt;items&gt;
    &lt;Base xsi:type="A" s="a"/&gt;
    &lt;Base xsi:type="B" s="a"/&gt;
   &lt;/items&gt;
  &lt;/root&gt;
  
  [Serializable]
  [XmlInclude(typeof(A))]
  [XmlInclude(typeof(B))]
  public class Base
  {
  }
  
  [Serializable]
  public class A : Base
  {
      public string a = "a";
  }
  
  [Serializable]
  public class B : Base
  {
      public string b = "b";
  }
  
  [Serializable]
  public class Root
  {
      public List&lt;Base&gt; items = new List&lt;Base&gt;();
  }
  </code></pre>
  
  <p>If I use the XmlType attribute, I can change the xsi:type name, but not the name tag.
  I also want to use a custom namespace on one of the tags, but if I add Namespace to XmlType, I get an error message saying that the type cannot be found, and XmlInclude has to be added..</p>
  
  <p>I guess this is actually quite simple, I just couldn't find out how..</p>