Sto lavorando su un progetto in cui ho molto specifiche specifiche di serializzazione xml, ovvero:
-
Alcune proprietà sono elementi, alcuni sono attributi
-
Alcune proprietà sono obbligatorie, altre non sono
-
Alcune proprietà sono richieste solo in alcuni contesti del generale stato dell'oggetto
-
Le proprietà non richieste non devono essere serializzate
-
Le proprietà dello stesso tipo possono essere serializzate in modo diverso
-
Alcune proprietà
double
dovrebbero avere arrotondamenti, forse anche personalizzati arrotondamento
E l'elenco continua ...
Attualmente sto implementando queste regole utilizzando Attribute
che è l'unico modo sensato.
Ma mi chiedo, qual è il modo migliore per serializzare questi oggetti? Certamente l'approccio che ha più senso è avere un serializzatore che conosce tutte queste regole e come gestirle come XmlSerializer
, anche se sembra che IXmlSerializable
sia stato creato per questo motivo.
Quindi, cosa faresti? Serializzatore personalizzato o IXmlSerializable
?