将String格式的XMLGregorianCalendar对象再次转换为XMLGregorianCalendar对象

时间:2014-09-04 07:14:48

标签: java.util.date java.util.calendar

我已使用XMLGregorianCalendar方法将toString()对象转换为String。所以在String变量中我有"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 个答案:

答案 0 :(得分:1)

你可以使用AFAIK:

XMLGregorianCalendar xmlDate = null;
try {
   xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(hereIsMyString);
    } catch (DatatypeConfigurationException ex) {
        // TODO Auto-generated catch block
        ex.printStackTrace();
    }

我遇到的问题类似于OP描述的问题。我有一个XMLGregorianCalendar并且必须将它存储在String表示中。为此,我使用了XMLGregorianCalendar中的.toString()方法。 后来需要读取存储的日期并将其作为封装在SOAP-Message中的XMLGregorianCalendar返回。

此示例创建一个新的XMLGregorianCalendar(假设存储的String读取到 hereIsMyString ):

updateChildren()