#c_sharp #xml #serialize
Как я могу в .net сериализовать в формат XML GUID без дефисов? Структура выходного документа не важна. Необходимо, например, вместо5c88f0fc-9edf-4428-9ee1-b28ba2a5f03c получить5c88f0fc9edf44289ee1b28ba2a5f03c
Ответы
Ответ 1
В качестве воркэраунда можно использовать такую конструкцию: public class Data { public int X { get; set; } [XmlIgnore] // это не сериализуем public Guid Y { get; set; } [XmlElement(ElementName = "Y")] // а вместо Y сериализуем вот это public string YSerializable { get => Y.ToString("N"); set => Y = Guid.Parse(value); } } Получаем XML:1 0102030405060708090a0b0c0d0e0f10 Минус: лишнее свойство, нужное лишь для сериализации. В качестве альтернативы, можно реализовать IXmlSerializable. Но это, наверное, больше мороки.
Комментариев нет:
Отправить комментарий