title: XML Deserialization with multiple elements with same name but different content
body: <p>Please help me to build model for deserialization of XML with multiple tags with same name but different content. </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-16"?&gt;
  &lt;found&gt;
  &lt;prefixes&gt;
      &lt;prefix name="Name1"&gt;Val1&lt;/prefix&gt;
      &lt;prefix name="Name2"&gt;Val2&lt;/prefix&gt;
  &lt;/prefixes&gt;
  &lt;objects&gt;
      &lt;object handle="0"&gt;
          &lt;User&gt;
              &lt;familyName&gt;Family&lt;/familyName&gt;
              &lt;givenName&gt;Given1&lt;/givenName&gt;
          &lt;/User&gt;
      &lt;/object&gt;
      &lt;object handle="0"&gt;
          &lt;User&gt;
              &lt;familyName&gt;Family2&lt;/familyName&gt;
              &lt;givenName&gt;Given2&lt;/givenName&gt;
          &lt;/User&gt;
      &lt;/object&gt;
  &lt;/objects&gt;
  &lt;objects&gt;
      &lt;object handle="0"&gt;
          &lt;User&gt;
              &lt;familyName&gt;Family3&lt;/familyName&gt;
              &lt;givenName&gt;Given3&lt;/givenName&gt;
          &lt;/User&gt;
      &lt;/object&gt;
      &lt;object handle="0"&gt;
          &lt;User&gt;
              &lt;familyName&gt;Family4&lt;/familyName&gt;
              &lt;givenName&gt;Given4&lt;/givenName&gt;
          &lt;/User&gt;
      &lt;/object&gt;
  &lt;/objects&gt;
  </code></pre>
  
  <p></p>
  
  <p>This XML contains 2 collection wrapped in tag <code>&lt;objects&gt;</code>. For debug purposes I used the same content for both <code>&lt;objects&gt;</code> tags, but in reality they'll be different. Furthermore content of each of these collection could change, but the structure of document is the same: it contains collection of prefixes, and 2 collections of objects.</p>
  
  <p>Here are data objects used to serialize/deserialize this xml:</p>
  
  <pre><code>[XmlRoot(ElementName = "found", IsNullable = true)]
  public class UserProfileDto
  {
      [XmlArray("prefixes", Order = 0)]
      [XmlArrayItem("prefix", IsNullable = false)]
      public PrefixDto [] Prefixes { get; set; }
  
      [XmlArray("objects", Order = 1)]
      [XmlArrayItem(ElementName = "object", Type = typeof(ObjectDto), IsNullable = false)]
      public ObjectDto[] Objects { get; set; }
  
      [XmlArray("objects", Order = 2)]
      [XmlArrayItem(ElementName = "object", Type = typeof(ObjectDto), IsNullable = false)]
      public ObjectDto[] AnotherObjects { get; set; }
  }
  
  public class PrefixDto
  {
      [XmlAttribute("name")]
      public string Name { get; set; }
  
      [XmlText]
      public string Value { get; set; }
  }
  
  public class ObjectDto
  {
      [XmlElement("User")]
      public UserDto User { get; set; }
  }
  
  [Serializable]
  public class UserDto
  {
      [XmlElement("familyName")]
      public string FamilyName { get; set; }
  
      [XmlElement("givenName")]
      public string GivenName { get; set; }
  }
  </code></pre>
  
  <p>The problem is - that serialization works fine with this model class, however when deserializing, property <code>AnotherObjects</code> is always null. Another strange thing - is that property <code>Objects</code> (in class <code>UserProfileDto</code>) is filled with data from the last element <code>&lt;object&gt;</code>.</p>
  
  <p>Please help to deal with this deserialization.</p>