title: default xmlns serializing as blank on string object
body: <p>I'm using a Serializable Dictionary code object. For some reason when I serialize the object in a SOAP web service the the string object serializes with a blank namespace. I cannot get it to go away.:</p>
  
  <pre><code> XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
  
          foreach (TKey key in this.Keys)
          {
              writer.WriteStartElement("item");
  
              writer.WriteStartElement("key");
              keySerializer.Serialize(writer, key);
              writer.WriteEndElement();
  
              writer.WriteStartElement("value");
              TValue value = this[key];
              valueSerializer.Serialize(writer, value, ns);
              writer.WriteEndElement();
  
              writer.WriteEndElement();
          }
  </code></pre>
  
  <p>I've tried using the XmlSerializerNamespaces on the XmlSerializer as well as the XmlAttributeOverrides but I cannot get it to go away. I keep getting</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
   &lt;soap:Body&gt;
    &lt;GetSiteListPermissionsResponse xmlns="http://HDMenu"&gt;
     &lt;GetSiteListPermissionsResult&gt;
      &lt;item&gt;
       &lt;key&gt;
        &lt;string xmlns=""&gt;http://devvm.local/second3/default.aspx&lt;/string&gt;
       &lt;/key&gt;
       &lt;value&gt;
        &lt;string xmlns=""&gt;True&lt;/string&gt;
       &lt;/value&gt;
      &lt;/item&gt;
     &lt;/GetSiteListPermissionsResult&gt;
    &lt;/GetSiteListPermissionsResponse&gt;
   &lt;/soap:Body&gt;
  &lt;/soap:Envelope&gt;
  </code></pre>