Сбой десериализации DataContract из-за неправильного порядка узлов XML.

Я озадачен поведением DataContractSerializer. Наша конфигурация основана на XML. XML используется в качестве источника для метода DataContractSerializer.ReadObject. Недавно я столкнулся с проблемой, когда не были заданы некоторые свойства десериализованного объекта. Я отследил изменения и обнаружил, что эти свойства были добавлены в XML вручную. Что на мой взгляд нормально. По-видимому, по мнению DataContractSerializer, это было неправильно, потому что он ожидает, что узлы XML будут упорядочены в алфавитном порядке. Действительно?! Десериализация кажется очень простой вещью - последовательно читать XML, анализировать имя узла, устанавливать соответствующее свойство. Какова цель заказа?

Есть ли обходной путь? Может быть, какие-то настройки для DataContractSerializer?

8
задан asgeo1 19 July 2012 в 05:48
поделиться