【发布时间】:2020-04-18 14:56:44
【问题描述】:
感谢您的宝贵时间。我正在尝试创建一个 xml 文件并将其上传到应用程序中,但由于某种原因,除非名称空间的顺序正确,否则它不会接受该文件。创建字典时,名称和 URI 的顺序正确,但是当我在 ET.Element 函数中将它们用作字典时,顺序似乎发生了变化。我试过只添加字典而不是 dict(**ns) 但它不起作用。
import xml.etree.ElementTree as ET
som='som'
cmn='cmn'
xsi='xsi'
ns = {'xlmns:som':som, 'xlmns:cmn':cmn,'xlmns:xsi':xsi}
for attr, uri in ns.items():
ET.register_namespace(attr.split(":")[1],uri)
data = ET.Element('tagname', dict(**ns))
编辑:抱歉,忘记添加代码!
想要的输出是<tagname xlmns:som='som' xlmns:cmn='cmn' xlmns:xsi='xsi'><tagname>
我得到的输出是<tagname xlmns:cmn="cmn" xlmns:som="som" xlmns:xsi="xsi">
【问题讨论】:
-
我们很高兴你和我们在一起,我们需要一个可复制的例子。
-
@nicomp,对不起!我忘记添加代码了!
-
您的代码缩进是否正确?当前和预期的输出是多少?我这是minimal reproducible example?看起来导入语句和数据丢失了。通过minimal reproducible example... 轻松帮助您
-
在写代码之前你导入了哪些模块?这对于将为您提供适当解决方案/建议的成员很有用。另外,在问题中提及实际输出和您的预期输出。
-
@SalilTamboli,我使用了 ElementTree 模块
标签: python elementtree