2010-02-01 30 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