Xml Leser im Allgemeinen erwarten Daten/Zeiten in einem ganz bestimmten Format; Sie können sich selbst verwenden diese XmlConvert
mit:
string s = XmlConvert.ToString(DateTime.Now);
DateTime when = XmlConvert.ToDateTime(s);
Wenn Sie etwas anderes verwenden, werden Sie es als eine Zeichenfolge lesen und DateTime.TryParseExact
(oder ähnlich) verwenden, um die tatsächliche Format-String zu spezifizieren:
string s = reader.ReadContentAsString();
DateTime when = DateTime.ParseExact(s, "M/d/yy hh:mm tt",
CultureInfo.InvariantCulture);
wenn Sie XmlSerializer
verwenden, könnten Sie eine Shim-Eigenschaft verwenden, um die Konvertierung zu tun - lassen Sie mich wissen, ob dies ist, was Sie tun ...
Die Daten, die ich eingab, passierten zufällig am 29.10.2012, 15:25 Uhr und das scheiterte. Als ich es zu 10/11/2012 15:25 änderte, funktionierte es. –
@MarcGravell, wenn ich versuche, einige RSS-Feeds mit 'XmlSerializer' zu deserialisieren, verursacht 'PubDate'-Element einen Fehler. wie kann ich es reparieren? – burhan
@burhan, indem Sie betrachten, wie der Wert hereinkommt, und ihn angemessen behandeln? Alternativ dazu enthält das Kern-Framework RSS-bezogene Klassen, die möglicherweise eine bessere Arbeit leisten. –