我有一个自定义类,它只有一个字符串类型的属性。
尝试使用 XmlSerializer 将此类的对象序列化为属性会导致异常:
XmlAttribute/XmlText 不能用于编码复杂类型
现在我知道我可以在包含类型中创建一个伪字符串属性并对其进行序列化,但是有什么办法可以让我的自定义类本质上支持它?
.Net 类是如何做到的(例如 DateTime)?
我有一个自定义类,它只有一个字符串类型的属性。
尝试使用 XmlSerializer 将此类的对象序列化为属性会导致异常:
XmlAttribute/XmlText 不能用于编码复杂类型
现在我知道我可以在包含类型中创建一个伪字符串属性并对其进行序列化,但是有什么办法可以让我的自定义类本质上支持它?
.Net 类是如何做到的(例如 DateTime)?
为此,您必须实现IXmlSerializable并完全控制您的类型如何序列化/反序列化。不过,对于这样一项简单的任务,付出了巨大的努力。当涉及到 Nullable 类型时,人们大多会遇到这种情况。