【发布时间】:2012-05-20 13:37:53
【问题描述】:
我的一个客户有他想要发送到我们正在创建的服务的 XML 数据。示例消息可能如下所示:
<SomeRootElement>
<Dates>
<Date>2012-05-20T00:00:00</Date>
<Date>2012-05-21T00:00:00</Date>
</Dates>
</SomeRootElement>
在我的 WCF 服务应用程序中,我有一个对应的类型定义为 DataContract:
[DataContract]
public class SomeRootElement {
[DataMember]
public ICollection<DateTime> Dates { get; set; }
}
问题在于,根据这个定义,WCF 希望Dates 集合看起来像:
<Dates>
<dateTime>2012-05-20T00:00:00</dateTime>
<dateTime>2012-05-21T00:00:00</dateTime>
</Dates>
有没有办法影响数组项的序列化元素名称?这曾经很容易使用 XML 序列化属性,但 DataContractSerializer 忽略了这些。
【问题讨论】:
-
您可以将 [XmlSerializerFormat] 属性添加到该类中,以便使用 Xml 序列化属性
标签: c# xml wcf xml-serialization datacontractserializer