L'utilisation de « FOR XML » avec sérialisation XML avec le type DATETIME
-
22-09-2019 - |
Question
Je vais avoir des problèmes d'essayer d'ajouter quelques dates à une classe pré-existante qui est chargé via la sérialisation XML, et il ne fait pas ce que je pensais qu'il doit faire.
Je frappais un test de base avec SQL de (où EffectiveFrom et EffectiveTo sont déclarés comme DATETIME
)
SELECT o.EffectiveFrom AS [@EffectiveFrom],
o.EffectiveTo AS [@EffectiveTo],
FROM dbo.MyObject o
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type
Ce qui donne XML:
<ArrayOfMyObject>
<MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" />
</ArrayOfMyObject>
Ensuite, je l'ai déclaré la classe comme:
public class MyObject
{
[XmlAttribute("EffectiveFrom")]
public DateTime EffectiveFrom { get; set; }
[XmlAttribute("EffectiveTo")]
public DateTime EffectiveTo { get; set; }
}
Cependant, les propriétés ne sont pas définies. Je pourrais juste être avoir « un jour épais » et manquant l'évidence aveuglante, mais je l'aurais attendu à ce que « fonctionne » - des idées pourquoi il est pas
Vais-je vraiment de créer des propriétés qui appellent Date.ParseExact()
sur le plateau, et ToString()
le get, pour que XML signalant sérialisation et les biens immobiliers signalant que XmlIgnore()
?
La solution 2
Semble "juste travail" avec SQL Server 2008, où nous avions été en utilisant SQL Server 2005 avance
Autres conseils
Je ne vois pas une balise de fermeture pour