zerfetztes Datum verarbeiten

JavaUncle

Mitglied
Hi Leute

ich lese eine XML von einem Webservice ein. Das sieht etwa so aus (ausschnitt):

Code:
<lsup>11/29/07 6:24 AM Local Time</lsup>
<day d="1" t="Friday" dt="Nov 30">
<day d="2" t="Saturday" dt="Dec 1">

für die beiden Knoten "day" brauche ich jeweils den Timestamp. Die dort angegebenen Infos beziehen sich auf den "lsup"-knoten, also ein bzw zwei Tage später.

wie man sieht sind die Daten in den day-Knoten unvollständig. Es fehlt das Jahr und der Monat!

Ich muss also vom lsup-Knoten ausgehen, und da jeweils einen Tag drauf packen um an die Timestamps zu kommen.

Ich will SimpleDateFormat benutzen (vermute das brauche ich dafür)...

Code:
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy H:m",new Locale("en"));

wie kriege ich dieses komische

Code:
<lsup>11/29/07 6:24 AM Local Time</lsup>

in ein richtiges Datums-Objekt umgewandelt, woraus man einen Timestamp machen kann und wo man 24 Stunden bzw. 48 Stunden drauf packen kann um dann entsprechend das richtige komplette Datum zu bekommen?

Freue mich über jeden Tipp

JavaUncle
 
Wenn du davon ausgehen kannst, dass der String immer dieses Format hast kannst du den auch einfach von Hand Parsen und den GregorianCalendar nutzen.

Das Parsen könnte man evt. über ne Regular Expression, nen Split oder nen Zeichenweises Vorgehen machen.

Wäre denke ich die einfachste Variante (wenn auch nicht unbedingt die schönste).

Grüße
Daniel
 
JAXB mappt XML Element auf Objekte, nen kaputten Datumsstring mappt dir das aber auch nicht vernünftig... zumindest nicht so einfach auf nen Date Objekt. Dafür müsste dann schon der XML Content vom Typ xsd:date sein, was er offensichtlich nicht ist...

Gruß
Ollie
 
Zuletzt bearbeitet:
Das kann man... allerdings find ich so OS Object-to-XML Mapper wie Castor wesentlich schicker, weil sie einem viel mehr flexibilität beim Gestalten des Domänenmodells lassen. Bei JAXB heißt ein schlechtes XSD (was meist der Fachbereich liefert) auch gleich schlechtes (dummes) Domänenmodell.

Aber ich glaub, wir werden hier schon etwas offtopic ;)

REINHAUN!
 
Zurück