Название может быть длинным, позвольте мне объяснить, что я имею в виду.Я не дам вам фактический XML, с которым мне нужно работать, но я приведу тот, который демонстрирует проблему, с которой я сталкиваюсь.
У меня есть XML, который выглядит следующим образом:
<root>
<creatures>
<creature type="mammal" name="lion">
<sound>roarr</sound>
</creature>
<creature type="bird" name="parrot">
<color>red</color>
</creature>
</creatures>
</root>
Представьте себе следующие классы:
(Конечно, это тоже не мои настоящие классы, но вы понимаете, в чем дело.)
public class Creature
{
public string Name { get; set; }
}
public class MammalCreature : Creature
{
public string Sound { get; set; }
}
public class BirdCreature : Creature
{
public string Color { get; set; }
}
Я хотел бы использовать сериализацию XML с атрибутами вспособ, которым я хочу, чтобы сериализатор различал типы MammalCreature
и BirdCreature
по атрибуту type
.
Я нашел решения, которые могут сделать это, установив атрибут xsi:type
ввведите имя, которое я хочу, но я хотел бы знать, есть ли реальное решение, которое делает это для моего случая.