title: XML Deserialization Issue with different XMLRoot Name
body: <p><strong>De-Serializing Class</strong></p>
  
  <pre><code>[XmlRoot(ElementName = "sgr")]
  public class SongGroup
  {
      public SongGroup()
      {
          this.Songs = new List&lt;Song&gt;();
      }
      [XmlElement(ElementName = "sgs")]
      public List&lt;Song&gt; Songs { get; set; }
  }
  
  public class Song
  {
      [XmlElement("a")]
      public string Artist { get; set; }
      [XmlElement("s")]
      public string SongTitle { get; set; }
  } 
  </code></pre>
  
  <p><strong>C# Code</strong></p>
  
  <pre><code>static void Main(string[] args)
      {
          SongGroup songs = new SongGroup();
          for(int i =0; i&lt;5;i++)
          {
              Song song = new Song();
              song.Artist = "Artist " + i;
              song.SongTitle = "Title " + i;
  
              songs.Songs.Add(song);
          }
          SaveSongs(songs);
      }
  
      public static bool SaveSongs(SongGroup songs)
      {
          XmlSerializer serializer = new XmlSerializer(typeof(SongGroup));
          using (TextWriter textWriter = new StreamWriter("mysongxml.xml"))
          {
              serializer.Serialize(textWriter, songs);
          }
          //var xDocument = XDocument.Load("mysongxml2.xml"); // need to it working
  
          var xDocument = XDocument.Load("mysongxml.xml"); //works fine
  
          string xmlString = xDocument.ToString();
  
          var serializer2 = new XmlSerializer(typeof(SongGroup));
          var reader = new StringReader(xmlString);
          var instance = (SongGroup)serializer2.Deserialize(reader);
          return true;
      }
  </code></pre>
  
  <p><strong>mysongxml.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;sgr xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;sgs&gt;
      &lt;a&gt;Artist 0&lt;/a&gt;
      &lt;s&gt;Title 0&lt;/s&gt;
    &lt;/sgs&gt;
    &lt;sgs&gt;
      &lt;a&gt;Artist 1&lt;/a&gt;
      &lt;s&gt;Title 1&lt;/s&gt;
    &lt;/sgs&gt;
    &lt;sgs&gt;
      &lt;a&gt;Artist 2&lt;/a&gt;
      &lt;s&gt;Title 2&lt;/s&gt;
    &lt;/sgs&gt;
    &lt;sgs&gt;
      &lt;a&gt;Artist 3&lt;/a&gt;
      &lt;s&gt;Title 3&lt;/s&gt;
    &lt;/sgs&gt;
    &lt;sgs&gt;
      &lt;a&gt;Artist 4&lt;/a&gt;
      &lt;s&gt;Title 4&lt;/s&gt;
    &lt;/sgs&gt;
  &lt;/sgr&gt;
  </code></pre>
  
  <p><strong>mysongxml2.xml</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ArrayOfSong xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;Song&gt;
      &lt;Artist&gt;Artist 0&lt;/Artist&gt;
      &lt;SongTitle&gt;Title 0&lt;/SongTitle&gt;
    &lt;/Song&gt;
    &lt;Song&gt;
      &lt;Artist&gt;Artist 1&lt;/Artist&gt;
      &lt;SongTitle&gt;Title 1&lt;/SongTitle&gt;
    &lt;/Song&gt;
    &lt;Song&gt;
      &lt;Artist&gt;Artist 2&lt;/Artist&gt;
      &lt;SongTitle&gt;Title 2&lt;/SongTitle&gt;
    &lt;/Song&gt;
    &lt;Song&gt;
      &lt;Artist&gt;Artist 3&lt;/Artist&gt;
      &lt;SongTitle&gt;Title 3&lt;/SongTitle&gt;
    &lt;/Song&gt;
    &lt;Song&gt;
      &lt;Artist&gt;Artist 4&lt;/Artist&gt;
      &lt;SongTitle&gt;Title 4&lt;/SongTitle&gt;
    &lt;/Song&gt;
  &lt;/ArrayOfSong&gt;
  </code></pre>
  
  <p>My problem is that when the root name is <code>sgr</code> everything works fine but I need the same to get working with <code>ArrayOfSong</code> as well.</p>
  
  <p>Thanks,</p>