如何使用DataContract添加XML属性

时间:2009-10-29 14:10:11

标签: c# .net serialization datacontract

我有一个简单的类我正在序列化。

 [DataContract(Name = "Test", Namespace = "")]
 public class Test
 {
    [DataMember(Order = 0, Name = "Text")]
    public string Text { get; set; }

    public Test() {}
 }

这将推出以下XML:

<Test>
   <Text>Text here</Text>
</Test>

我想要的是:

<Test>
   <Text type="MyType">Text here</Text>
</Test>

如何添加XML元素的属性?

提前致谢。

3 个答案:

答案 0 :(得分:13)

您无法向DataContract添加属性。您必须使用Implements ISerializable的类或使用.Net XmlSerializer。

答案 1 :(得分:1)

不完全是答案,但您可以尝试实现IXmlSerializable以完全控制输出xml格式。

答案 2 :(得分:0)

我能够通过声明一个在其中定义属性的XElement来实现这一点。例如:

public XElement Text { get; set;}