如何解决覆盖XML文件,但缺少我的nameSpace之一
我正在解析一个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')
您有什么问题吗,我该如何解决?
解决方法
使用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"/>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。