指示XmlSerializer处理序列化/反序列化数据?

时间:2011-10-26 23:26:03

标签: xml-serialization xmlserializer xml-attribute

我有一个枚举属性。我希望这个属性的序列化XML是枚举的分裂驼峰式字符串,反之亦然。

我有两个函数,一个是ConcatCamelCase,另一个是SplitCamelCase,我希望序列化程序相应地使用它们,这可以通过用属性装饰字段来实现吗?

如果不是,那么另外一个选项是什么,而不必乱用所有其他字段?

2 个答案:

答案 0 :(得分:1)

你必须做这样的事情:

public class SomeClass {
    [XmlIgnore]
    public MyEnum MyRealProperty {get;set;}

    [XmlElement("MyRealProperty")]
    [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)]
    public string MyProxyProperty
    {
        get {return SplitCamelCase(MyRealProperty);}
        set {MyRealProperty = ConcatCamelCase(value);}
    }
}

答案 1 :(得分:-1)

您可以使用XMlSerialization属性显式设置所有序列化的名称。

[XmlRoot("theNameYouWant")]

[XmlElement("theNameYouWant")]