I have an xml I am parsing, making some changes and saving out to a new file. It has the declaration
If You want to disable outputting standalone at all pass None instead of True or False. Sounds logical but took some time to actually find and test it.
etree.tostring(tree, xml_declaration = True, encoding='utf-8', standalone=None)
or using context manager and stream etree.xmlfile serialization:
with etree.xmlfile(open('/tmp/test.xml'), encoding='utf-8') as xf:
xf.write_declaration(standalone=None)
with xf.element('html'):
with xf.element('body'):
element = etree.Element('p')
element.text = 'This is paragraph'
xf.write(element)