我有一个xsd模式文件,其中包括以下定义:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
<xs:element name="CreateDate" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="8"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
...
以及包含以下元素的XML文件:
<?xml version="1.0" encoding="utf-8"?>
...
<!-- format is: YYYY/dd/mm -->
<CreateDate>2020/10/22</CreateDate>
...
我使用xmlschema来解析该XML文件,如下所示:
schema = xmlschema.XMLSchema(schema_file)
element = schema.to_dict(xml_file, datetime_types=True)
显然,CreateDate被解析为字符串,而不是Date
对象.问题:
- 是否可以更改xsd定义,以便
xmlschema
使用格式"YYYY/mm/dd"自动解析CreateDate到Date
? - 如果不是,我想我需要使用
value_hook
或element_hook
个参数截取to_dict()
的解析,但我不确定如何进行.有什么建议吗?