NodaTime - 我可以更改 Instant 的默认 xml 序列化吗?

NodaTime - can I change default xml serialization for Instant?

NodaTime - 我可以更改 Instant 的默认 xml 序列化吗?

有没有办法改变它,以便所有瞬间都可以在没有毫秒的情况下序列化:

而不是这个:

<CreationDateTime>2021-06-27T09:52:18.1900643Z</CreationDateTime>

我想要这个:

<CreationDateTime>2021-06-27T09:52:18Z</CreationDateTime> 

我想知道是否有办法为所有 NodaTime.Instant 属性做到这一点,例如在我们创建的 XmlSerializer 上进行一些设置?

不,恐怕不是:该格式实际上是硬编码的。我建议 post 处理 XML,或者可能使用单独的字符串 属性 进行序列化,这纯粹是为了 XML(所以你将其标记为已过时,但以您想要的方式序列化它,它会代理到一个 Instant 属性 这是 not 过时但 is 忽略 XML 序列化)。