我目前正在使用基于SOAP的服务,并且我正在使用xmltodict将响应的有效负载基本上转换为Python字典。 xml中的某些标记是日期。我宁愿在转换期间对此进行反序列化,而不是转换为字典,然后循环遍历并将字符串更改为datetime对象。有谁知道使用xmltodict进行这种操作是否有优雅的方法?有其他选择吗?
以下是一些代码:
response = requests.post(some_url, some_payload, some_headers)
xml_string = response.content
data = xmltodict.parse(xml_string) #converting to python dictionary
'''
imagine xml like this:
<Data>
<ChangeRecord>
<ChangeID>CXXXXX</ChangeID>
<ChangeTitle>Remove files from server</ChangeTitle>
<StartDate>27-Aug-2018</StartDate>
<EndDate>27-Aug-2018</EndDate>
</ChangeRecord>
...
...
...
我想将StartDate和Enddate反序列化为datetime xmltodict.parse()期间的对象,而不是像这样转换并循环遍历:
for d in data:
d['StartDate'] = datefromstring(string, string_format)
d['EndDate'] = datefromstring(string, string_format)