2010-02-01 53 views
2

如何将代表这样的事情.NET代表,类XML没有XSD

<product> 
    <sku>12452</sku> 
    <attribute name="details">good stuff</attribute> 
    <attribute name="qty">5</attribute> 
</product> 

用在我的WCF服务?不知道如何定义唯一区别是“名称”的多个属性。

我需要这个正确的设置作为一个DataMember所以xml被反序列化到它。

SKU会是这样的:

[DataMember(Name = "sku")] 
public string sku; 

我会用哪两个属性?

回答

2

由于DataContract序列化程序不支持XML属性(仅限元素),因此您将无法使用DataContracts执行此操作。如果您确实需要使用该模式生成消息,则必须改为use XmlSerializer

+0

如果DataContracts较新,为什么他们不支持属性?他们是否被弃用? – 2010-02-01 16:37:06

+1

@Chris:出于性能原因,DataContractSerializer不支持XML节点上的属性。不支持这些,使DCS比同一文档上的XmlSerializer快10-15%。 – 2010-02-01 17:22:27