【发布时间】:2011-05-01 09:36:01
【问题描述】:
我知道如何在 F# 中使用可变对象进行序列化,但有没有办法使用 XmlSerializer 或 DataContractSerializer 使用记录类型进行序列化/反序列化?看起来有一种方法可以使用 KnownType 属性对有区别的联合执行此操作,但我正在寻找一种在没有默认构造函数的情况下使用非可变记录的方法...
【问题讨论】:
-
我最终只使用了 xml 解析,这在我的情况下也是如此,我尝试的方法无法生成干净的 xml,即使 Tomas 建议使用 System.Xml.Serialization 的属性,我的怀疑是它不会起作用,但我还是决定尝试但他们没有,我相信因为数据合同的命名空间忽略了这些。我的要求是在本练习中使用非可变记录,但如果您的目标只是 xml 序列化,那么它与在任何其他 .net 语言中使用它没有什么不同,只需创建类、装饰它们并使用 XmlSerializer,它就可以工作。
标签: serialization f# xml-serialization