Modify XML declaration with python

2020-05-08 06:23发布

I have an XML document for which I need to add a couple of things to the XML declaration using minidom. The declaration looks like this:

<?xml version="1.0"?>

And I need it to look like this:

<?xml version="1.0" encoding="UTF-16" standalone="no"?>

I know how to change or add attributes using minidom, which will not work here.

What is the easiest way of doing this? For reference, I am running python 3.3.3.

1条回答
家丑人穷心不美
2楼-- · 2020-05-08 06:42

I'm not sure if this can be done with minidom. But you could try lxml.

from lxml import etree

tree = etree.parse("test.xml")
string = etree.tostring(tree.getroot(), pretty_print = True, xml_declaration = True, standalone = False, encoding = "UTF-16")
with open("test2.xml", "wb") as f:
    f.write(string)

More or less taken from here.

查看更多
登录 后发表回答