4

我的目标是将 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) 我执行这个 scriptlet 来生成一组 C# 类:

xsd f4form_2012_3.xsd /order /classes

我需要使用 C# attribute 获取类属性[System.Xml.Serialization.XmlElementAttribute(Order=1)]。我也有,但是头等舱的属性有这个属性。

第二类及以下类没有。

请检查f4form_2012_3.cs

这是什么意思?

4

1 回答 1

1

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

于 2012-12-13T13:01:32.273 回答