使用XSD我只想在我的xml字段中接受格式为YYYYMMDD的日期。 那我该怎么做呢
我在一个例子中看到这个会起作用吗?
答案 0 :(得分:10)
XML架构defines dateTime
作为ISO8601,但有一些例外,您应该坚持这一点,否则您将遇到严重的互操作性问题。如果您想使用不同的格式发送/接收日期,请使用带有正则表达式限制的simpleType
并在应用程序代码中解析/格式化日期:
<xs:simpleType name="CustomDate">
<xs:restriction base="xs:string">
<xs:pattern value="\d{8}"/>
</xs:restriction>
</xs:simpleType>
如果您确实想要使用内置类型(高度不可取),那么您的XML框架/库可能会有一些支持。例如,在Java / JAXB中,您可以将自定义转换器/格式化程序应用于任何类型,以便在客户端/服务器代码中仍然使用Date
对象(而不是8位String
),但它是使用您的自定义例程编组/解组。