【发布时间】:2009-04-07 21:36:34
【问题描述】:
在 2.0 序列化时代,我可以创建一个对象的序列化版本,这将导致以下示例:
<transactionMessage messageDate="1/1/2001 11:00PM" messageId="abc123">
<transaction property1="Value" property2="value2" />
</transactionMessage>
我将使用 Serializable() 属性执行此操作,然后将 XmlElement 属性附加到我的项目。但是,当我使用 DataContract/DataMember 属性时,我会得到如下所示的内容:
<transactionMessage>
<messageDate>1/1/2001 11:00PM</messageDate>
<messageId>abc123</mesageId>
<transaction>
<property1>Value</property1>
<property2>Valu2</property2>
</transaction>
</transactionMessage>
通常我不会真正关心幕后生成的 XML,但该系统将与多个外部客户端进行交互,这些客户端已经与不同的系统(基于 2.0 序列化风格)进行了通信,并且我想保留结构类似,但增加了 WCF 的增强功能。
如何告诉 DataMember 属性本质上使格式更像第一个示例,其中包含属性而不是所有内容的元素?
【问题讨论】:
标签: xml wcf serialization