Сериализация без xsi:type в xml C#
Столкнулся с проблемой сериализации коллекции с полиморфными членами. В результирующем файле вместо тега образуется атрибут xsi:type. И не могу от него избавиться. Ниже код и скриншоты xml. Прошу подсказать каким образом можно сделать xml в нужном виде. Спасибо!
[Serializable]
public class Winter : Tyres
{
public Winter()
{
}
public string Name { get; set; }
public string Size { get; set; }
}
//------------------------
[Serializable]
public class Summer : Tyres
{
public Summer()
{
}
public string Name { get; set; }
public string Size { get; set; }
}
//------------------------
[Serializable]
public class Tyres
{
public Tyres()
{
}
public Winter WinterTyres { get; set; }
public Summer SummerTyres { get; set; }
}
//------------------------
[Serializable]
[XmlRoot]
public class Main
{
private ObservableCollection<Tyres> tyresCollection = new ObservableCollection<Tyres>
{
new Winter
{
Name = "Nokian",
Size = "205/55/17"
},
new Summer
{
Name = "Toyo",
Size = "225/60/17"
}
};
public Main()
{
}
[XmlArrayItem("Tyres")]
public ObservableCollection<Tyres> TyresCollection
{
get => tyresCollection;
set => tyresCollection = value;
}
}
//------------------------
class Program
{
static void Main(string[] args)
{
Main main = new Main();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Main));
using (FileStream fs = new FileStream("Main.xml", FileMode.OpenOrCreate))
{
xmlSerializer.Serialize(fs, main);
}
Console.WriteLine("Сериализация завершена");
Console.ReadKey();
}
}
}

