C# xsd.exe属性顺序

C# xsd.exe属性顺序,c#,xsd,xsd.exe,C#,Xsd,Xsd.exe,我的目标是用属性顺序将c#类序列化为XML,就像我的类中的属性顺序一样。为此,我需要在类中的其他属性之前添加System.Xml.Serialization.xmlementAttribute(Order=int) [System.Xml.Serialization.XmlElementAttribute("F4INVAL", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)] public F4invalTyp

我的目标是用属性顺序将c#类序列化为XML,就像我的类中的属性顺序一样。为此,我需要在类中的其他属性之前添加System.Xml.Serialization.xmlementAttribute(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文件()

使用Xsd.exe(http://msdn.microsoft.com/en-en/library/x6c1kb0s.aspx)我执行此scriptlet以生成一组C#类:

我需要用C#attribute
[System.Xml.Serialization.xmlementattribute(Order=1)]
获取类属性。我知道,但是第一个类的属性有这个属性

第二类和后续类没有它

塑料止回阀


这是什么意思?

这是因为复杂类型是XSD中唯一使用元素序列的类型。不能对从XML属性生成的属性排序,因为属性在XML中没有排序。也许您想改用XML元素。

您的问题令人困惑。你的目标是什么?你需要从类生成XML还是从XML生成类?@AlexFilipovici他想从XSD生成类,这样他就可以将XML实例映射到CLR对象。我指的是序列化过程:XSD->生成CLR C#Class->将对象序列化为XML。XML属性的顺序必须等于C#类属性的顺序。您是对的,例如类
F4inf1Type
也有顺序属性。我的意思是序列化过程:XSD->生成CLR C#类->将对象序列化为XML。XML属性的顺序必须等于C#类属性的顺序彼得·巴巴尼亚加18分钟前
xsd f4form_2012_3.xsd /order /classes