xsd.exe属性顺序

时间:2012-12-13 12:03:05

标签: c# xsd xsd.exe

我的目标是将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

这是什么意思?

1 个答案:

答案 0 :(得分:1)

这是因为您的F4ReportType复杂类型是XSD中唯一使用xsd:sequence元素的类型。您不能对从XML属性生成的属性进行排序,因为属性不是按XML排序的。也许您想要使用XML元素。