我使用JAXB来取消/封送来自服务器的XML消息。通常我会在字段中获取XMLGregorianCalendar值,这些字段在描述XSD文件中定义为xs:dateTime,因此转换为XMLGregorianCalendar由JAXB自动完成。串是这样的::xs:xs格式的字符串:DateTime格式为XMLGregorianCalendar
<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:string" />
但我接收到应代表的dateTime一个值:
<Value>2014-08-31T15:00:00Z</Value>
从XSD文件
<xs:attribute name="readouttime" use="required" type="xs:dateTime" />
然而一个字段被定义为XS
实施例
有什么不错的方法,如何将此字符串转换为XMLGregorianCallendar,还是应该使用Sim pleDateFormat并手动输入模式?我觉得这可能是一个危险的部分。
我得到一个NullPointerException 的com.sun .xml.bind.api.AccessorException:java.lang.NullPointerException \t在com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:247) \t在com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:262) \t在com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeAttributes(ClassBeanInfoImpl.java:390) \t在com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:689) \t在com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:158 – Aguid 2017-10-10 09:31:13
@AyadiAkrem这将是最好有一个情况,以评估XML,POJO等 – Xstian 2017-10-11 11:07:32
那是我做过什么 – Aguid 2017-10-12 08:15:17