Я использую XmlSerializer для сериализации объекта и записи его в файл. У меня был довольно большой успех, когда сериализатор выполнял то, что я хочу, чтобы сделать это с точки зрения вложенности элементов и сериализован как элементы с атрибутами. К сожалению, у меня возникла проблема, когда мне нужен один член класса для сериализации перед другим. В другом месте это работало для меня, что все, что было объявлено, сначала получает сериализацию в первую очередь, но в этом случае я не имею столь большого успеха с этим. Есть ли способ вручную управлять порядком, в котором вещи сериализуются?
Управление порядком сериализации в С#
Ответ 1
[XmlElementAttribute(Order = 1)]
public int Field1 {...}
[XmlElementAttribute(Order = 2)]
public int Field2 {...}
Поймать: Вы должны указать Order
для всех ваших членов.
Будьте осторожны - десериализация будет работать только в том случае, если свойства в документе XML находятся в том же порядке. В противном случае он будет игнорировать неупорядоченные свойства.
Ответ 2
XmlElementAttribute.Order
, который управляет "явным порядком, в котором элементы сериализованы или десериализованы".