Я создал библиотеку классов-оболочек API для использования остальных API сторонних разработчиков.
Все работало, пока они недавно не обновили API в последней версии своего продукта и не добавили пространство имен к корневому элементу, теперь мой код десериализации не выполняется.
Пример одного из моих классов:
[Serializable]
[XmlRootAttribute(ElementName = "exit_survey_list")]
public class SupportExitSurveyCollection : ApiResult { .... }
Если для свойства Namespace в XmlRootAttribute установить новое возвращаемое пространство имен, оно снова будет работать правильно.
Но мне нужно поддерживать обе версии API (с именами и без), потому что я не могу быть уверен, какая версия API будет доступна.
Я бы хотел, чтобы это работало без дублирования классов для разных версий, но не уверен, возможно ли это.
Спасибо за любой вклад / совет.