У меня есть следующий XML, сгенерированный путем сериализации структуры boost :: posix_time :: ptime. Я хочу создать объект Java Date с этим XML.
<timeStamp class_id="0" tracking_level="0" version="0">
<ptime_date class_id="1" tracking_level="0" version="0">
<date>20100119</date>
</ptime_date>
<ptime_time_duration class_id="2" tracking_level="0" version="0">
<time_duration_hours>11</time_duration_hours>
<time_duration_minutes>53</time_duration_minutes>
<time_duration_seconds>33</time_duration_seconds>
<time_duration_fractional_seconds>0</time_duration_fractional_seconds>
</ptime_time_duration>
</timeStamp>
Ниже приведен код Java, который должен создавать объект Date путем десериализации этого XML. Проблема, с которой я сталкиваюсь, заключается в том, как разбить тег на последовательность год / месяц / день.
Integer date = timeStamp.getPtimeDate().getDate();
Integer hrs = timeStamp.getPtimeTimeDuration().getTimeDurationHours();
Integer mins = timeStamp.getPtimeTimeDuration().getTimeDurationMinutes();
Integer secs = timeStamp.getPtimeTimeDuration().getTimeDurationSeconds();
Calendar cal = Calendar.getInstance();
//TODO
//cal.set(year, month, day, hrs, mins, secs);
Date date = cal.getTime();
Есть подсказки?
EDIT:
Я ищу какое-то элегантное решение, которое не требует преобразования даты в строку и последующего ее разбиения. Это было бы моим последним средством.
Спасибо