我的目标是按照属性顺序将c#类序列化为XML,就像我的类中的属性顺序一样。出于这个目的,我需要在我的类中的其他属性之前添加System.Xml.Serialization.XmlElementAttribute(Order=int)。
[System.Xml.Serialization.XmlElementAttribute("F4INVAL", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)]
public F4invalType[] F4INVAL {
get {
return this.f4INVALField;
}
set {
this.f4INVALField = value;
}
}我有XSD文件(f4form_2012_3.xsd)。
我使用Xsd.exe (http://msdn.microsoft.com/en-en/library/x6c1kb0s.aspx)执行此脚本以生成一组C#类:
xsd f4form_2012_3.xsd /order /classes我需要使用C# attribute [System.Xml.Serialization.XmlElementAttribute(Order=1)]获取类属性。我确实是这样做的,但是第一个类的属性有这个属性。
第二个类和后面的类没有它。
什么意思?
发布于 2012-12-13 21:01:32
这是因为F4ReportType复杂类型是XSD中唯一使用元素xsd:sequence的类型。不能对从XML特性生成的特性进行排序,因为在XML中没有对特性进行排序。也许您想使用XML元素来代替。
https://stackoverflow.com/questions/13859461
复制相似问题