为了账号安全,请及时绑定邮箱和手机立即绑定

覆盖 XML 文件并且我的命名空间之一丢失

覆盖 XML 文件并且我的命名空间之一丢失

四季花海 2023-08-08 16:22:38
我正在解析一个 XML 文件,替换它的值并覆盖它,一切正常,但覆盖后我的两个根命名空间之一丢失了。我发现我必须注册我的名称空间,我做到了,但它并没有改变它:有 Xml 文件输入:<?xml version="1.0" encoding ="utf8"?><Document xmlns:xsi = "sample" xmlns ="sample2">有输出:<?xml version='1.0' encoding='UTF-8'?><Document xmlns="sample2">当我注册我的命名空间时:ET.register_namespace('xsi' , "sample")ET.register_namespace('' , "Sample2" )书写方法:tree.write(path , xml_declaration=True, method='xml', encoding='UTF-8')您知道问题是什么以及如何解决它吗?
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

使用 lxml 库可能会更容易:


from lxml import etree


nsmap = {'xsi': "sample", None: "sample2"}

root = etree.Element('Document', nsmap=nsmap)

print(etree.tostring(root))

这给出了所需的输出:


<Document xmlns:xsi="sample" xmlns="sample2"/>


查看完整回答
反对 回复 2023-08-08
  • 1 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信