You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
817 B
28 lines
817 B
3 months ago
|
import xml.etree.ElementTree as ET
|
||
|
|
||
|
|
||
|
def parse_dict_to_xml(_root, data):
|
||
|
for key, val in data.items():
|
||
|
child = ET.SubElement(_root, key)
|
||
|
if isinstance(val, str) or isinstance(val, int) or isinstance(val, float):
|
||
|
child.text = str(val)
|
||
|
else:
|
||
|
parse_dict_to_xml(child, val)
|
||
|
return _root
|
||
|
|
||
|
|
||
|
def get_xml(_data):
|
||
|
root = ET.Element('root')
|
||
|
xml_data = parse_dict_to_xml(root, _data)
|
||
|
xml_str = ET.tostring(xml_data, encoding='utf8', method='xml')
|
||
|
return xml_str
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
# failed_resp_data = {'url': '请检查foramt、pid参数', 'sig': ''}
|
||
|
# root = ET.Element('root')
|
||
|
# xml_data = parse_dict_to_xml(root, failed_resp_data)
|
||
|
# xml_str = ET.tostring(xml_data, encoding='utf8', method='xml')
|
||
|
# print(xml_str)
|
||
|
pass
|