2014-09-04 35 views
2

我已使用toString()方法将XMLGregorianCalendar对象转换为字符串。所以在一个String变量中我有"2014-09-02T10:55:58.000+05:30"。现在我想再次将此值加载到一个XMLGregorianCalendar对象。将字符串格式的XMLGregorianCalendar对象再次转换为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

据我所知,您可以使用:

javax.xml.datatype.DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation) 

我有类似的OP问题说明问题。我得到了一个XMLGregorianCalendar,并且必须将其存储为字符串表示形式。为此,我使用了XMLGregorianCalendar中的.toString()方法。 后来需要读取存储的日期并将其作为封装在SOAP消息中的XMLGregorianCalendar返回。

这个例子创建一个新的XMLGregorianCalendar(假设存储的字符串被读取到hereIsMyString):

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

对不起,是我将修改我原来的职位的解释代码的意思做。 – 2016-09-19 15:20:00