我正在从Web服务接收xsd
文件。对于一个元素,xsd定义了一个xs:date
,但实际上Web服务返回的时间戳类似于2019-10-19 12:00:00
。
由于我无法控制xsd,因此我想编写一个jaxb
映射文件,该文件将元素类型转换为String
而不是Date。这样我就不必修改xsd(就像在下一个Web服务更新中一样,否则我必须记住我的手动修改)。
但是如何?
xsd:
<xs:complexType name="Person">
<xs:element name="TicketTime" type=xs:date"/>
</xs:complexType>
jaxbbinding.xml:
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
jaxb:version="2.1">
<jaxb:bindings schemaLocation="xsd/my.xsd">
<jaxb:bindings node="//xs:complexType[@name='Person']//xs:element[@name='TicketTime']">
<!-- TOOD how to rewrite xs:date to xs:string? -->
</jaxb:bindings>
</jaxb:bindings>
</jaxb:bindings>