Skip to content

Instantly share code, notes, and snippets.

@zlalanne
Created June 4, 2013 23:29
Show Gist options
  • Save zlalanne/5710499 to your computer and use it in GitHub Desktop.
Save zlalanne/5710499 to your computer and use it in GitHub Desktop.
Indents XML node in python
def indent(elem, level=0):
"""Add whitespace to xml document to increase readability
elem - root element to start the indention at
level - start level of indention
"""
i = "\n" + level*" "
if len(elem):
if not elem.text or not elem.text.strip():
elem.text = i + " "
if not elem.tail or not elem.tail.strip():
elem.tail = i
for elem in elem:
indent(elem, level+1)
if not elem.tail or not elem.tail.strip():
elem.tail = i
else:
if level and (not elem.tail or not elem.tail.strip()):
elem.tail = i
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment