使用python编辑时保留原始的xml声明

时间:2016-12-14 22:20:11

标签: python xml

我的原始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但保持声明和名称空间不变。

0 个答案:

没有答案