Я не думаю, что это хорошая идея, чтобы два узла с одинаковым именем содержались в одном и том же наборе узлов.
Это может быть подтверждено, но я думаю, что было бы (лучше?) Проще иметь два разных узла, например:
...
<smallImage></smallImage>
<largeImage></largeImage>
...
Лучшее, что я могу придумать, - это изменить xml, используя xsl, или ...
РЕДАКТИРОВАТЬ - ОПАСНОСТЬ! Гадкий взлом - ОПАСНОСТЬ!
Вы можете изменить имена узлов, используя цикл. Могу поспорить, что есть намного более элегантный способ сделать это с помощью Linq-to-xml - но я не мог справиться с этим:
foreach(XElement xe in feed.Descendants("artist").Elements())
{
if(xe.Name.LocalName.Equals("image") && xe.Attribute("size").Value.Equals("small"))
{
xe.Name="smallImage";
xe.Attributes("size").Remove();
}
if (xe.Name.LocalName.Equals("image") && xe.Attribute("size").Value.Equals("big"))
{
xe.Name = "bigImage";
xe.Attributes("size").Remove();
}
}