こんな授業があります
[DataContract(Namespace = "")]
public class Foo
{
[DataMember(Order = 0)]
Bar bar;
}
[DataContract(Namespace = "")]
public class Bar
{
Baz baz;
[DataMember(Order = 0)]
string TheBaz
{
get { baz.ToString(); }
set { SomeOtherCode(value); }
}
}
私はこれがこのようなXMLを生成したい
<Foo>
<Bar>String from baz.ToString()</Bar>
</Foo>
しかし、次のようなものが得られています:
<Foo>
<Bar><TheBaz>String from baz.ToString()</TheBaz></Bar>
</Foo>
これを修正することは可能ですか?この記事によると、DataContractSerializer の欠点の 1 つは次のとおりです。
- 名前と順序を設定する以外に、オブジェクトをシリアル化する方法を制御できない
これは解決可能な問題ではないのではないかと思います。
IXmlSerializable
これはand ReadXml
/で実行できることを知ってWriteXml
いました。これは、まさにそれを行うコードを削除することになっているためです。