def indent(node: ET.XML, level: int = 0): i = '\n' + level * ' ' * 4 if len(node): if not node.text or not node.text.strip(): node.text = i + ' ' * 4 if not node.tail or not node.tail.strip(): node.tail = i for node in node: indent(node, level + 1) if not node.tail or not node.tail.strip(): node.tail = i else: if level and (not node.tail or not node.tail.strip()): node.tail = i