有没有一种方法可以在xml到字典的转换过程中(使用xmltodict)反序列化xml字符串?

时间:2018-09-05 16:36:25

标签: python xml deserialization

我目前正在使用基于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) 

0 个答案:

没有答案