Skip to content

Instantly share code, notes, and snippets.

@bewestphal
Created June 1, 2016 06:17
Show Gist options
  • Save bewestphal/0d2f884b3327f31b86122b5f6a38b3e2 to your computer and use it in GitHub Desktop.
Save bewestphal/0d2f884b3327f31b86122b5f6a38b3e2 to your computer and use it in GitHub Desktop.
Python Function to Convert JSON to XML
def json2xml(json_obj, tag_name=None):
result_list = list()
json_obj_type = type(json_obj)
if json_obj_type is list:
for sub_elem in json_obj:
result_list.append("\n<%s>" % (tag_name))
result_list.append(json2xml(sub_elem, tag_name=tag_name))
tag_name = re.sub('\s\w+="\w+"', '', tag_name)
result_list.append("</%s>" % (tag_name))
return "".join(result_list)
if json_obj_type is dict:
for tag_name in json_obj:
sub_obj = json_obj[tag_name]
if isinstance(sub_obj, list):
result_list.append(json2xml(sub_obj, tag_name=tag_name))
elif isinstance(sub_obj, dict):
result_list.append("\n<%s>" % (tag_name))
result_list.append(json2xml(sub_obj, tag_name=tag_name))
result_list.append("\n</%s>" % (tag_name))
else:
result_list.append("\n<%s>" % (tag_name))
result_list.append(json2xml(sub_obj, tag_name=tag_name))
tag_name = re.sub('\s\w+="\w+"', '', tag_name)
result_list.append("</%s>" % (tag_name))
return "".join(result_list)
return "%s" % json_obj
@skylin-specter
Copy link

Thank you :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment