【发布时间】:2009-03-25 20:15:32
【问题描述】:
我有这样的课程
[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>
有可能解决这个问题吗? This artical 表示 DataContractSerializer 的缺点之一是:
- 除了设置名称和顺序之外,无法控制对象的序列化方式
让我怀疑这是不是一个可解决的问题。
我知道这可以通过 IXmlSerializable 和 ReadXml/WriteXml 完成,因为我应该删除执行此操作的代码。
【问题讨论】:
标签: .net xml datacontractserializer