title: XML string array deserialize as different type name
body: <p>I have the following <strong>C#</strong> class property:</p>
  
  <pre><code>private List&lt;string&gt;  _accountTypes;
  
  [XmlArray(ElementName = "accountTypes")]
  public List&lt;string&gt; AccountTypes
  {
     get { return _accountTypes; }
     set { _accountTypes = value; }
  }
  </code></pre>
  
  <p>which is initialized like this in the class constructor:</p>
  
  <pre><code>_accountTypes       = new List&lt;string&gt;( new string[] { "OHGEE", "OHMY", "GOLLY", "GOLLYGEE" });
  </code></pre>
  
  <p>When deserialized I get this:</p>
  
  <pre><code>&lt;accountTypes&gt;
     &lt;string&gt;OHGEE&lt;/string&gt;
     &lt;string&gt;OHMY&lt;/string&gt;
     &lt;string&gt;GOLLY&lt;/string&gt;
     &lt;string&gt;GOLLYGEE&lt;/string&gt;
  &lt;/accountTypes&gt;
  </code></pre>
  
  <p>I should like it if I could get this:</p>
  
  <pre><code>&lt;accountTypes&gt;
     &lt;accountType&gt;OHGEE&lt;/accountType&gt;
     &lt;accountType&gt;OHMY&lt;/accountType&gt;
     &lt;accountType&gt;GOLLY&lt;/accountType&gt;
     &lt;accountType&gt;GOLLYGEE&lt;/accountType&gt;
  &lt;/accountTypes&gt;
  </code></pre>
  
  <p>Without creating a subclass of type "accountType", how can this be done? Are there any XML attribute properties that can be used to get what I need?</p>