尝试复制以下根元素,包括命名空间:
<ns0:StdFX1.3 xmlns:ns0="http://website.com/schemas/StdFX1.3.In"
CutOff="2200LON" DataSource="" SpotDataSource="">
</ns0:StdFX1.3>
到目前为止我的代码是:
import xml.etree.ElementTree as ET
ET.register_namespace("", "http://website.com/schemas/StdFX1.3.In")
top = ET.Element('{http://website.com/schemas/StdFX1.3.In}Stuff')
它只能让我得到以下结果:
<?xml version='1.0' encoding='UTF-8'?>
< xmlns="http://website.com/schemas/StdFX1.3.In">
答案 0 :(得分:0)
我放弃并在最终对象上使用字符串替换。
root.tostring().replace("mangled toplevel namespace", '<ns0:StdFX1.3 xmlns:ns0="http://website.com/schemas/StdFX1.3.In"
CutOff="2200LON" DataSource="" SpotDataSource="">')
同样适用于结束标签。任何其他方式都不会保留我指定的更改。
fromString
方法返回元素树。我只是提交XML所以没有,所以我不记得这是否会影响您所需的更改,但是您获得了所需的XML。