2010-03-08 95 views
0

我有一個簡單的DataContract類,其中包含另一個DataContract類的數組。序列化時,生成的XML包含數組,但每個標記首先以「a:」開頭(例如:<a:name>test</a:name>)。有沒有辦法告訴序列化器忽略這些?WCF與集合的DataContract序列化

謝謝!

回答

1

a:定義了一個XML命名空間。您可以將兩個Datacontracts放在同一個XML名稱空間中,並且a:將消失。儘管這仍然是有效的XML。

0

指定數據合約的空命名空間 - 這樣的事情:

[DataContract(Namespace="")] 
public class YourClass 
{ 
    .... 
} 

[DataContract(Namespace="")] 
public class YourArrayClass 
{ 
    .... 
} 

這應該照顧它。

但爲什麼這會打擾你呢? XML命名空間是XML的一個重要組成部分,特別是在消除各種來源的XML元素的歧義時....檢查出W3Schools以瞭解爲什麼XML命名空間很重要以及如何消除它們的恐懼 - 強烈推薦!