You should reconsider the way you are serialising your data to have something more "xml-like":
<aliasnames>
<aliasname>
<given>Joe</given>
<middle>A</middle>
<family>Doe</family>
</aliasname>
<aliasname>
<given>Jerry</given>
<middle>B</middle>
<family>Doe</family>
</aliasname>
<aliasname>
<given>Jim</given>
<middle>C</middle>
<family>Doe</family>
</aliasname>
</aliasnames>
This can be done using an array of AliasName class with Given, Middle and Family properties.
If you cannot change the xml format, you should use the XmlDocument by yourself:
XmlDocument xml = new XmlDocument();
XmlElement eltRoot = xml.CreateElement("AliasNames");
xml.AppendChild(eltRoot);
for(int i=1; i<=arrayOfNames.Length(); ++i)
{
XmlElement elt = xml.CreateElement("AliasGivenName"+i);
elt.InnertText = arrayOfNames[i].GivenName;
eltRoot.AppendChild(elt);
elt = xml.CreateElement("AliasMiddleName"+i);
elt.InnerText = arrayOfNames[i].MiddleName;
eltRoot.AppendChild(elt);
elt = xml.CreateElement("AliasFamilyName"+i);
elt.InnertText = arrayOfNames[i].FamilyName;
eltRoot.AppendChild(elt);
}
xml.Save(filename);