2

通過XmlSerializer,我可以將我的成員放在與父類型不同的命名空間中。將DataMember添加到與DataContract不同的命名空間中

我可以用DataContractSerializer做同樣的事嗎?

我想下面的XML:

<h:Type xmlns:h="http://schemas.e.com/WebServices" 
    xmlns="http://schemas.e.com/WebServices"> 
    <Member xmlns="http://schemas.e.com/CoreTypes">0</Member> 
</h:Type> 

DataContractSerializer這可能嗎?

回答

1

您可以在不同的命名空間中定義子數據合同,並將它們用作另一個數據合同的成員,但不能控制各個成員名稱和/或形狀。 DataContractSerializer並不打算取代XmlSerializer以精確控制XML的「形狀」。

+0

你是不是說不能做?或者它可以,但它不應該。 我應該回頭使用XmlSerializer嗎? – ryancrawcour 2009-11-10 05:15:30

+0

基本上。 DataContracts不是爲精細控制而設計的 - 當管道的兩側都是WCF時,它們的「快速,簡單和可重複」。 XmlSerializer和WCF相處得很好 - 它只是默認使用DataContractSerializer。 – nitzmahone 2009-11-10 16:48:43

相關問題