result =
OrderedDict([('soap:Envelope',
OrderedDict([('@xmlns:soap',
'http://schemas.xmlsoap.org/soap/envelope/'),
('@xmlns:xsi',
'http://www.w3.org/2001/XMLSchema-instance'),
('@xmlns:xsd', 'http://www.w3.org/2001/XMLSchema'),
('soap:Body',
OrderedDict([('ServerJobResponse',
OrderedDict([('@xmlns',
'http://www.goodexamplesfakesite.net/'),
('ServerJobResult',
OrderedDict([('acXML',
OrderedDict([('@payloadID',
'a167f6e4-a57f-40b4-8a95-0d0f187b55db'),
('@xml:lang',
'en-US'),
('@timestamp',
'6/17/2021 '
'1:38:03 '
'PM'),
('@xmlns',
''),
('Response',
OrderedDict([('Status',
OrderedDict([('@code',
'200'),
('@text',
'OK')]))]))]))]))]))]))]))])
我的尝试:
def foo(result):
for k, v in result.items():
if k == 'Status':
return v['@code'], val['@text']
elif isinstance(v, OrderedDict):
return foo(v)
有人可以建议一个更好的方法吗?