#c# #xml-serialization #nodatime
Вопрос:
NodaTime — могу ли я мгновенно изменить xml-сериализацию по умолчанию?
Есть ли способ изменить его, чтобы все мгновения были сериализованы без миллисекунд:
Вместо этого:
<CreationDateTime>2021-06-27T09:52:18.1900643Z</CreationDateTime>
Я бы хотел этого:
<CreationDateTime>2021-06-27T09:52:18Z</CreationDateTime>
Мне интересно, есть ли способ сделать это для всех NodaTime.Мгновенные свойства, например, с некоторыми настройками в создаваемом нами XmlSerializer?
Ответ №1:
Нет, боюсь, что нет: формат жестко закодирован, эффективно. Я бы предложил либо выполнить постобработку XML, либо потенциально сериализовать с использованием отдельного строкового свойства, которое предназначено исключительно для XML (поэтому вы пометили бы его как устаревшее, но сериализовали бы его так, как хотите, и оно бы указывало на Instant
свойство, которое не устарело, но игнорируется для сериализации XML).
Комментарии:
1. Спасибо, что подтвердили это. Я думаю, что, вероятно, смогу просмотреть все элементы-потомки и использовать регулярное выражение.