我的原始xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<foo/>
我希望将其更改为
<?xml version="1.0" encoding="utf-8"?>
<foo>
<bar>confusing dev</bar>
</foo>
我按照tutorial
的建议使用xml.etree.ElementTree
with open('file.xml','r+b') as f:
tree = etree.parse(f)
f.seek(0,0)
tree.write(f,xml_declaration=True)# default argument: encoding="us-ascii"
此输出
<?xml version='1.0' encoding='us-ascii'?>
<foo/>
但是如何在运行时获取file.xml
的编码并将其作为参数传递给tree.write
,还是有更好的方法在python中编辑xml?我只想更改一些Element.text
但保持声明和名称空间不变。