Datum für XML

15/03/2009 - 12:37 von martina gerling | Report spam
Hallo,

ich habe ein Datum mit Uhrzeit in seine Einzelteile aufgeteilt und
möchte nun diese als komplettes Datum in eine XML-Datei schreiben und
daraus auch wieder auslesen können für Berechnungen.
iTag = int.Parse(zeile.Substring(0, 2));
iMonat = int.Parse(zeile.Substring(3, 2));
iJahr = int.Parse(zeile.Substring(6, 4));
iStunde = int.Parse(zeile.Substring(11, 2));
iMinute = int.Parse(zeile.Substring(14, 2));
iSekunde = int.Parse(zeile.Substring(17, 2));

Was bietet sich an, das komplette Datum mit Uhrzeit in einer XML
zuspeichern? Gibt es die Möglichkeit, Invariante Strings aus dem
DateTime zu machen und diese dann wieder zurückkonvertieren als
DateTime? Ich muss davon ausgehen, dass das ganze auch unter
verschiedenen Kulturen zum laufen kommt.

Wie kann ich das machen einfachst umsetzen, also aus einem DateTime
ein String und zurück?

Gruss

Martina
 

Lesen sie die antworten

#1 Frank Dzaebel
15/03/2009 - 13:07 | Warnen spam
Hallo Martina,

gut, ich schàtze, Deine vorherige Frage mit dem
FolderBrowserDialog konntest Du also wie vorgeschlagen
lösen.

ich habe ein Datum mit Uhrzeit in seine Einzelteile aufgeteilt und
möchte nun diese als komplettes Datum in eine XML-Datei
schreiben und daraus auch wieder auslesen können für Berechnungen.



zunàchst denkt man eher an ein DateTimePicker Steuerelement,
um solche DateTime-Eingaben zu ermöglichen.

Da Du ja die "Properties.Settings.Default" nutzt,
würde ich vorschlagen, Du wàhlst sie auch hier und
definierst ein Setting vom Typ DateTime.
Das wird automatisch in invariantes XML serialisiert,
nàmlich die "user.config", die in einem speziellen
Verzeichnis steht.

Wenn Du auf Deiner Aufsplittung bestehen willst, kannst Du
zum Beispiel gut den Konstruktor mit 7 ints nutzen:

[DateTime-Konstruktor (Int32, Int32, Int32, Int32, Int32, Int32, Int32)
(System)]
http://msdn.microsoft.com/de-de/lib...49tb7.aspx

Falls doch eigene XML-Dateien zum Einsatz kommen
sollen, ist der XmlSerializer normal sinnvoll. Im Datentyp
dann eine öffentliche Eigenschaft vom Typ DateTime definieren.
Analog:

[Mit dem XmlSerializer eigene Objekte serialisieren und deserialisieren]
http://dzaebel.net/XmlSerializer.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen