问题描述
NodaTime - 我可以更改 Instant 的默认 xml 序列化吗?
有没有办法改变它,以便所有瞬间都可以在没有毫秒的情况下被序列化:
取而代之的是:
<CreationDateTime>2021-06-27T09:52:18.1900643Z</CreationDateTime>
我想要这个:
<CreationDateTime>2021-06-27T09:52:18Z</CreationDateTime>
我想知道是否有办法为所有 NodaTime.Instant 属性做到这一点,例如对我们创建的 XmlSerializer 进行一些设置?
解决方法
不,恐怕不是:格式是有效的硬编码。我建议对 XML 进行后处理,或者可能使用单独的字符串属性进行序列化,这纯粹是为了 XML(因此您将其标记为过时,但以您想要的方式序列化它,并且它会代理到一个 Instant
属性,该属性未过时但 被 XML 序列化忽略)。