С DataContracts вы можете наследовать от IExtensibleDataObject, чтобы разрешить циклическое переключение без потери каких-либо неизвестных дополнительных данных из вашего файла XML.
Я не могу использовать DataContract, потому что мне нужно контролировать форматирование выводаXML.Но мне также нужно иметь возможность читать будущую версию файла XML в старой версии приложения, не теряя при этом никаких данных из файла XML.
например,
XML v1:
<Person>
<Name>Fred</Name>
</Person>
XML v2:
<Person>
<Name>Fred</Name>
<Age>42</Age>
</Person>
Если при чтении файла XML v2 из v1 моего приложения его десериализация и сериализация снова превращает его в файл XML v1.то есть поле "Возраст" удалено.
Есть ли что-то похожее на IExtensibleDataObject, которое я могу использовать с XmlSerializer, чтобы избежать исчезновения поля Возраст?