60 votes

Pouvez-vous spécifier le format de XmlSerialization d'un datetime?

J'ai besoin de sérialiser / désérialiser un datetime en format aaaammjj pour un fichier XML. Est-il un attribut / solution de contournement que je peux utiliser pour cela?

72voto

John Saunders Points 118808

Non, il n'y en a pas. Si c'est dans ce format, alors ce n'est pas un dateTime valide aussi loin que le Schéma XML est concerné.

Le meilleur que vous pouvez faire est comme suit:

[XmlIgnore]
public DateTime DoNotSerialize {get;set;}

public string ProxyDateTime {
    get {return DoNotSerialize.ToString("yyyymmdd");}
    set {DoNotSerialize = DateTime.Parse(value);}
}

22voto

th2tran Points 111

XmlElementAttribute#Type de données doit fournir ce dont vous avez besoin:

[XmlElement(DataType="date")]    
public DateTime Date1 {get;set;}

Cela permet d'obtenir des Date1 propriété sérialisé à la bonne xml date format.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X