xs:xs:StringTime格式的字符串到XMLGregorianCalendar

Mic*_*hal 4 java xml xsd jaxb

我使用JAXB来取消/编组从服务器获取的XML消息.通常我会在字段中获取XMLGregorianCalendar值,这些值在描述XSD文件中定义为xs:dateTime,因此转换为XMLGregorianCalendar由JAXB自动完成.

来自XSD文件的示例

<xs:attribute name="readouttime" use="required" type="xs:dateTime" />
Run Code Online (Sandbox Code Playgroud)

但是,一个字段被定义为xs:string,如下所示:

<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
Run Code Online (Sandbox Code Playgroud)

但是我收到一个代表dateTime的值:

<Value>2014-08-31T15:00:00Z</Value>
Run Code Online (Sandbox Code Playgroud)

有没有什么好方法,如何将此字符串转换为XMLGregorianCallendar,还是应该使用SimpleDateFormat并手动键入模式?我觉得这可能是一个危险的部分.

hen*_*nes 5

快速谷歌搜索产生

String mydatetime = "2011-09-29T08:55:00";
XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(mydatetime);
Run Code Online (Sandbox Code Playgroud)

积分转到此博文.