我的目标是将c#类序列化为XML,其属性顺序类似于我的类中的属性顺序。对于这个purporse,我需要在我的类中的其他属性之前添加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)我执行此scriptlet以生成一组C#类:
xsd f4form_2012_3.xsd /order /classes
我需要使用C#属性[System.Xml.Serialization.XmlElementAttribute(Order=1)]
获取类属性。我这样做,但是第一类'属性有这个属性。
第二个及以下的课程没有。
Plase check f4form_2012_3.cs
这是什么意思?
答案 0 :(得分:1)
这是因为您的F4ReportType
复杂类型是XSD中唯一使用xsd:sequence
元素的类型。您不能对从XML属性生成的属性进行排序,因为属性不是按XML排序的。也许您想要使用XML元素。