IXmlSerializable和XmlAttribute - 如何让它像DateTime一样工作?

时间:2015-06-22 17:30:05

标签: c# serialization xml-attribute

我有一个具有相当简单的字符串表示的类。对此字符串进行序列化和反序列化并不困难。

我希望能够使用像这样的XmlAttribute:

public class MyClass
{

     [XmlAttribute("MyValue")]
     public MySubClass {get; set;}

}

因此,MySubClass,无论何时序列化,都可以显示为属性:

<Myclass MyValue="XXYYZZ">
// other stuff omitted
</MyClass>

我目前正在尝试在MySubClass中使用IXmlSerializable,但是我得到了这个序列化异常:

  

XmlAttribute / XmlText不能用于编码实现的类型   IXmlSerializable的“。

我知道这是可能的,因为它适用于DateTime。我查看了DateTime的源代码,我看到ISerializable已经实现,但那是二进制序列化的。我也看到了IFormattable的实现,但我不知道这是不是。

问题:在xml属性中进行xml序列化时,如何创建一个与DateTime相似的类?

0 个答案:

没有答案