禁止在etree Python中自动添加命名空间

禁止在etree Python中自动添加命名空间,python,xml,elementtree,Python,Xml,Elementtree,有没有办法抑制这种自动变化?谢谢这可以通过使用空字符串作为前缀来完成 et = xml.etree.ElementTree.parse(xml_name) root = (et.getroot()) root.find('.//*'+pattern).text = new_text et.write(xml_name) 完整的工作示例 ET.register_namespace("", "model") 将xml.etree.ElementTree作为ET导入 xml=”“” 福 """ E

有没有办法抑制这种自动变化?谢谢

这可以通过使用空字符串作为前缀来完成

et = xml.etree.ElementTree.parse(xml_name)
root = (et.getroot())
root.find('.//*'+pattern).text = new_text
et.write(xml_name)
完整的工作示例

ET.register_namespace("", "model")
将xml.etree.ElementTree作为ET导入
xml=”“”
福
"""
ET.register_名称空间(“,“model”)
root=ET.fromstring(xml)
root.find(“{model}标记”).text=“bar”
打印(ET.tostring(root.decode())
打印输出


酒吧

另请参见另一个示例。

请提供一个示例文件和一个最小程序。这是否回答了您的问题?看看
et = xml.etree.ElementTree.parse(xml_name)
root = (et.getroot())
root.find('.//*'+pattern).text = new_text
et.write(xml_name)
ET.register_namespace("", "model")
import xml.etree.ElementTree as ET

xml = """
<rootTag xmlns="model">
    <tag>foo</tag>
</rootTag>
"""

ET.register_namespace("", "model")

root = ET.fromstring(xml)
root.find("{model}tag").text = "bar"
print(ET.tostring(root).decode())