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) を使用して、次のスクリプトレットを実行して C# クラスのセットを生成します。

xsd f4form_2012_3.xsd /order /classes

C# attribute でクラス プロパティを取得する必要があります[System.Xml.Serialization.XmlElementAttribute(Order=1)]。私もそうですが、最初のクラスのプロパティにはこの属性があります。

2 番目以降のクラスにはありません。

f4form_2012_3.csを確認してください

どういう意味ですか?

4

1 に答える 1

1

これは、XSD 内でof 要素F4ReportTypeを使用する型が複合型だけであるためです。xsd:sequence属性は XML で順序付けされていないため、XML 属性から生成されたプロパティを順序付けることはできません。代わりに XML 要素を使用したい場合があります。

于 2012-12-13T13:01:32.273 に答える