Преобразование объекта XMLGregorianCalendar в формате String в объект XMLGregorianCalendar снова
Я преобразовал XMLGregorianCalendar
объект для строки, используя toString()
метод. Так что в строковой переменной у меня есть "2014-09-02T10:55:58.000+05:30"
, Теперь я хочу загрузить это значение в XMLGregorianCalendar
объект снова
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(new Date());
XMLGregorianCalendar xgcal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
System.out.println(xgcal);
String strDate = xgcal.toString();
System.out.println("In String format "+strDate);
Я хочу сохранить это строковое значение в переменной типа XMLGregorianCalendar . Я использовал это SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
но не могу понять, что делать дальше. Надеюсь, я четко упомянул свою проблему. Пожалуйста, помогите мне. Заранее спасибо.
1 ответ
AFAIK вы можете использовать:
javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation)
У меня была проблема, похожая на проблему, которую описывает OP. Я получил XMLGregorianCalendar и должен был сохранить его в строковом представлении. Для этого я использовал метод.toString() из XMLGregorianCalendar. Позже возникла необходимость прочитать сохраненную дату и вернуть ее в виде XMLGregorianCalendar, инкапсулированного в SOAP-сообщение.
В этом примере создается новый XMLGregorianCalendar (предполагается, что сохраненная строка читается в hereIsMyString):
XMLGregorianCalendar xmlDate = null;
try {
xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(hereIsMyString);
} catch (DatatypeConfigurationException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}