18

我正在使用 XmlSerializer 序列化对象并将其写入文件。我在序列化程序方面取得了相当大的成功,它在嵌套元素以及序列化为元素与属性方面做了我希望它做的事情。不幸的是,我遇到了一个问题,我需要一个类的成员在另一个之前序列化。在其他地方,首先声明的内容首先被序列化,这对我有用,但在这种情况下,我并没有那么成功。有没有办法手动控制事物的序列化顺序?

4

2 回答 2

32
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

[XmlElementAttribute(Order = 2)] 
public int Field2 {...} 

Catch:您必须Order所有成员指定。

请注意 - 反序列化仅在 XML 文档中的属性处于相同顺序时才有效。否则它将默默地忽略乱序属性。

于 2010-07-30T16:42:09.057 回答
3

XmlElementAttribute.Order,它控制“元素被序列化或反序列化的显式顺序”。

于 2010-07-30T16:40:32.257 回答