C#でXmlSerializerを使用して特定のフィールドのシリアル化を制御できますか? Foxの例stringの代わりに何か他のものとしてシリアライズされる "Type"(文字列)という名前のプロパティ。 ありがとうございます。XmlSerializerを使用して特定のフィールドのシリアル化を制御できますか?
2
A
答えて
5
/XmlAttribute
アノテーション(属性または完全なXML要素など)のアノテーションを使用して、いくつかを制御できます。ただし、タイプを直接変更することはできません。任意のタイプの複雑なシリアライゼーションスキームをサポートする必要がある場合、XmlSerializer
は多くの制限のために適切な選択ではありません。 DataContractSerializer
(WCFのドキュメントの"Using Data Contracts"を参照)を使用する方が良いでしょう。
あなただけの(カスタムXML型または名前空間を使用して例えば)結果のシリアル化されたデータのXML型を変更したい場合は、はXmlType
属性であることを行うことができますが、それはあなたが宣言したタイプのために動作しますプリミティブなCLR型ではありません(たとえば、文字列を整数型または別のより複雑な型にすることはできません)。
0
私はあなたがあなただけの属性を使用して入力して制御することはできませんIXmlSerializable interface
をしたいと思います。クラスのシリアライズ/シリアライズを行うための独自のコードをロールバックする必要があります。そのインターフェースはあなたがそれを可能にします。
1
XMLIgnore属性でシリアル化する内容を制御できます。この属性で修飾されたプロパティはシリアル化されません。
XMLTypeを使用して、XMLシリアライザによって型がシリアル化される方法を管理することもできますが、とにかくCLR型に直接影響することはありません。
シリアル化を使用してCLRタイプを変更することはできません。
関連する問題
- 1. XmlSerializerを使用して 'System.Numerics.Complex'をシリアル化する方法は?
- 2. XmlSerializerを使用して派生クラスをシリアル化する
- 3. XMLSerializerを使用してXMLを逆シリアル化する
- 4. XmlSerializerとXmlAnyElementの制御ネームスペース
- 5. XmlSerializerはIEnumerableをシリアル化しません。
- 6. DataContractSerializerでシリアル化を条件付きで制御できますか?
- 7. .NET XmlSerializerクラスはInnerXmlを文字列として逆シリアル化できますか?
- 8. CSC.EXEでバグを逆シリアル化するXmlSerializer
- 9. XmlSerializerを使用してXML文字列にシリアル化する際のラウンド値
- 10. XmlSerializerでランダム/未知の型を逆シリアル化します。
- 11. XmlSerializerはfloatを1E + 07としてシリアル化します。
- 12. なぜXmlSerializerは抽象クラスをシリアル化しますが、インターフェイスはシリアル化できませんか?
- 13. コンボボックスを使用してリストボックスを制御できますか?
- 14. json.netのサイズ制限を使用してデータをシリアル化していますか?
- 15. Jackson @JsonViewを使用してプロパティをシリアル化できますか?
- 16. インスタンス変数を使用してクラスの特定のインスタンスを制御する
- 17. .htaccessを使用して特定のページのHTTPSを制御する
- 18. C#で特定の形式でXMLをシリアル化しますか?
- 19. テーブルの特定の列へのアクセスを制御しますか?
- 20. json4s - シリアル化中に特定のタイプのフィールドを無視する
- 21. コンピュータとのシリアル接続を使用するArduinoの制御モーター
- 22. フレームワークバージョンを使用して、コンパイルするもの(C#)を制御できますか?
- 23. symfony2のアクセス制御でregexを使用できますか?
- 24. 特定のXMLオブジェクトのシリアル化形式を強制
- 25. Saxonの特定の拡張機能へのアクセスを制御できますか?
- 26. RegExを使用して特定のフィールドを特定する
- 27. シリアル化できなかったフィールドのリストを報告するジャクソンのシリアル化
- 28. Jacksonは配列要素を特定のフィールドに逆シリアル化します
- 29. JSON.NET逆シリアル化 - クラスを特定できませんか?
- 30. 特定のシナリオで例外フロー制御を改善していますか?
[Serializable]属性に基づいてシリアライズするものを制御することができます。たとえば、クラス全体をシリアライズするか、特定のプロパティのみを選択するかを選択できます – MethodMan