Я использую библиотеку, предоставленную третьей стороной, которая использует XML для связи с устройством. Корневой тег имеет 2 атрибута, которые должны присутствовать. Все примеры в документации показывают, что эти 2 атрибута появляются в определенном порядке.
Я создал классы для использования с классом .NET XmlSerializer, которые содержат свойства, помеченные соответствующими атрибутами XmlAttribute. Вывод XmlSerializer для моих классов имеет эти два атрибута в обратном порядке всех примеров в документации.
Если я передаю XML, сгенерированный моим кодом, в библиотеку, я получаю возвращаемое значение ошибки. Тем не менее, только для удовольствия, я изменил XML и изменил порядок атрибутов. И вот, я получил нормальное возвращаемое значение. Документация гласит, что библиотека написана на языке Ansi C, поэтому я уверен, что они не используют .NET XmlSerializer.
Я знаю, что стандарт XML говорит, что порядок атрибутов не важен. Я уведомил их, что их код нарушает стандарт, и, надеюсь, они это исправят. Но в
Тем временем я должен добиться прогресса в этом проекте. Есть ли способ заставить XmlSerializer выводить атрибуты в обратном порядке? Или мне придется генерировать XML самостоятельно (гигантская боль в пату)?
По крайней мере, я могу проанализировать возвращенный мне Xml с классом XmlSerializer, и не имеет значения, в каком порядке находятся атрибуты в моем коде.
Спасибо
Tony