【发布时间】:2010-07-30 16:35:35
【问题描述】:
我正在使用 XmlSerializer 序列化对象并将其写入文件。我在序列化程序方面取得了相当大的成功,在嵌套元素和序列化为元素与属性方面做了我希望它做的事情。不幸的是,我遇到了一个问题,我需要一个类的成员在另一个之前序列化。在其他地方,首先声明的内容首先被序列化对我有用,但在这种情况下,我并没有那么成功。有没有办法手动控制事物的序列化顺序?
【问题讨论】:
标签: serialization xmlserializer
我正在使用 XmlSerializer 序列化对象并将其写入文件。我在序列化程序方面取得了相当大的成功,在嵌套元素和序列化为元素与属性方面做了我希望它做的事情。不幸的是,我遇到了一个问题,我需要一个类的成员在另一个之前序列化。在其他地方,首先声明的内容首先被序列化对我有用,但在这种情况下,我并没有那么成功。有没有办法手动控制事物的序列化顺序?
【问题讨论】:
标签: serialization xmlserializer
[XmlElementAttribute(Order = 1)]
public int Field1 {...}
[XmlElementAttribute(Order = 2)]
public int Field2 {...}
Catch:您必须为所有成员指定Order。
小心 - 反序列化只有在 XML 文档中的属性顺序相同时才会起作用。否则它将默默地忽略乱序的属性。
【讨论】:
XmlAttributeAttribute 没有这样的属性。
XmlElementAttribute.Order,控制“元素被序列化或反序列化的显式顺序”。
【讨论】: