Порядок членов данных и десериализация XML - PullRequest
2 голосов
/ 11 августа 2009

У меня есть приложение RESTful WCF, которое использует пользовательские классы в качестве параметров метода обслуживания. Эти классы украшены атрибутом [DataContract], а каждое из их свойств украшено атрибутом [DataMember].

Десериализатор работает в соответствии со следующей страницей «Порядок членов данных» в MSDN: http://msdn.microsoft.com/en-us/library/ms729813.aspx.

То есть он ожидает, что элементы во входных данных в формате XML будут следовать описанному порядку. На самом деле, если один из элементов вышел из строя, после десериализации он не имеет переданного значения, а имеет нулевое значение.

Есть ли хороший способ позволить вызывающей программе свободно упорядочивать элементы xml (т. Е. В любом порядке) и обеспечивать десериализацию, подходящую для каждого упорядочения элементов?

1 Ответ

2 голосов
/ 12 августа 2009

Большая часть XML не позволяет вводить элементы в произвольном порядке. Насколько я знаю, нет веских причин разрешать это.

Сериализатор контрактов данных вообще не поддерживает это. Это добавит накладные расходы и не даст значения.

Почему ваши абоненты не могут просто отправить правильный XML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...