Solution:
This python script will generate an example.xml in root directory of your project:
import xml.etree.ElementTree as ET
def prettify(element, indent=' '):
queue = [(0, element)] # (level, element)
while queue:
level, element = queue.pop(0)
children = [(level + 1, child) for child in list(element)]
if children:
element.text = '\n' + indent * (level+1) # for child open
if queue:
element.tail = '\n' + indent * queue[0][0] # for sibling open
else:
element.tail = '\n' + indent * (level-1) # for parent close
queue[0:0] = children # prepend so children come before siblings
def create_xml(input_list):
xml_doc = ET.Element('sweep', runs='1')
parameter = ET.SubElement(xml_doc, 'parameter', name='Date', type='number', number_type='int', start='2', end='4', step='1')
ET.SubElement(parameter, 'parameter', name='table', type='list', value_type='java.lang.String', values=' '.join(input_list))
prettify(xml_doc)
tree = ET.ElementTree(xml_doc)
tree.write('example.xml', encoding='UTF-8', xml_declaration=True)
def main():
some_list = ['010WE', '021WG', '022X']
create_xml(some_list)
if __name__ == '__main__':
main()
Answer based on post: Pretty printing XML in Python