0

私は DataContractSerializer を使用していましたが、これまでのところ、必要なものはすべて提供されていました。ここで、さらに 2 つの機能が必要ですが、DataContractSerializer ではそれらが不可能であることは既にわかっています。

  1. 一部のフィールドを XmlComments としてシリアル化できるようにする必要があります
  2. 一部のメンバーは、含まれているオブジェクトで Xml-Attribute として直接シリアル化する必要があります。

XmlSerializer はオプトインをサポートしておらず、必要なフィールド/プライベートもサポートしていないため、残念ながら問題外です。

DataContractSerializer をベースとして使用しながら、既存の「XmlAttribute」属性とカスタムの「XmlComment」属性を尊重する独自のシリアライザーを作成できますか?

たぶん、私が必要とするものを提供するサードパーティのシリアライザーが既に存在するのでしょうか? しかし、私はそれを見つけませんでした。

カスタム シリアライザーを作成してもかまいませんが、できるだけ多くの既存のコードを再利用したいと考えています。

4

1 に答える 1

0

XmlSerializer を使用できます。デフォルトのルールでは処理できないオブジェクトにIXmlSerializableを実装し、面倒な作業を自分で行う必要があります。これは、独自のシリアライザー IMO をローリングするよりも簡単です。

于 2013-05-18T00:16:01.530 に答える