18

XmlSerializer を使用してオブジェクトをシリアル化し、ファイルに書き込みます。要素のネストと、要素と属性としてシリアル化されるものに関して、シリアライザーがやりたいことを実行することで、かなりの成功を収めました。残念ながら、あるクラスのメンバーを別のメンバーの前にシリアライズする必要があるという問題に遭遇しました。他の場所では、最初に宣言されたものが最初にシリアル化されることがうまくいきましたが、この場合、私はそれであまり成功していません。物事がシリアライズされる順序を手動で制御する方法はありますか?

4

2 に答える 2

32
[XmlElementAttribute(Order = 1)] 
public int Field1 {...} 

[XmlElementAttribute(Order = 2)] 
public int Field2 {...} 

キャッチ:すべてのメンバーOrderに対して を指定する必要があります。

注意 - 逆シリアル化は、XML ドキュメント内のプロパティが同じ順序である場合にのみ機能します。それ以外の場合、順不同のプロパティは黙って無視されます。

于 2010-07-30T16:42:09.057 に答える
3

XmlElementAttribute.Order、「要素がシリアル化または逆シリアル化される明示的な順序」を制御します。

于 2010-07-30T16:40:32.257 に答える