C# WCF DataContract与集合的序列化
我有一个简单的DataContract类,它包含另一个DataContract类的数组。序列化后,生成的XML包含数组,但每个标记首先以“a:”(示例:C# WCF DataContract与集合的序列化,c#,wcf,serialization,C#,Wcf,Serialization,我有一个简单的DataContract类,它包含另一个DataContract类的数组。序列化后,生成的XML包含数组,但每个标记首先以“a:”(示例:test)开头。有没有一种方法可以告诉序列化程序ommit这些 谢谢 a:正在定义一个XML名称空间。您可能会将两个数据契约放在同一个XML名称空间中,而a:将消失。尽管这仍然是有效的XML。请为数据协定指定一个空名称空间,如下所示: [DataContract(Namespace="")] public class YourClass {
test
)开头。有没有一种方法可以告诉序列化程序ommit这些
谢谢 a:正在定义一个XML名称空间。您可能会将两个数据契约放在同一个XML名称空间中,而a:将消失。尽管这仍然是有效的XML。请为数据协定指定一个空名称空间,如下所示:
[DataContract(Namespace="")]
public class YourClass
{
....
}
[DataContract(Namespace="")]
public class YourArrayClass
{
....
}
那就可以了
但是为什么这会困扰你呢?XML名称空间是XML不可分割的重要组成部分,特别是在消除来自不同来源的XML元素的歧义时。。。。查看一篇介绍XML名称空间为何重要以及如何消除对它们的恐惧的介绍,强烈推荐