Python 如何使用ElementTree在xml属性中添加前缀

Python 如何使用ElementTree在xml属性中添加前缀,python,xml,elementtree,Python,Xml,Elementtree,我需要在xml元素中为属性添加前缀,如: <Database xmlns:xsi="http://www.w3.org/" xmlns="http://www.staubli.com/"> <Data name="pPointTraj" access="public" xsi:type="array" type="PointTraj" size=&qu

我需要在xml元素中为属性添加前缀,如:

<Database xmlns:xsi="http://www.w3.org/" xmlns="http://www.staubli.com/">
    <Data name="pPointTraj" access="public" xsi:type="array" type="PointTraj" size="2">
        <Field name="pPoint" xsi:type="array" type="pointRx" size="1">
根据我的尝试,我可以不使用
后面的术语,但如果我使用前缀,就会出现语法错误

我被困在这里,在网上找不到我的答案,有人能帮我吗?先谢谢你


编辑:QName

@mzjn分享了另一个问题,所以我尝试了一下,但我仍然有一些我想摆脱的东西,我不知道如何摆脱

from xml.etree import ElementTree as ET

NS1 = "http://www.w3.org/" 

ET.register_namespace("xsi", NS1) 

qname1 = ET.QName(NS1, "D")    # Element QName 

root = ET.Element("Database", {qname1:""},xmlns="http://www.staubli.com/") 
print(ET.tostring(root).decode())
上面的代码给了我

<Database xmlns:xsi="http://www.w3.org/" xsi:D="" xmlns="http://www.staubli.com/" />


我想摆脱
xsi:D=”“
。你知道我怎样才能做到这一点吗?谢谢。

您应该能够使用
QName
添加名称空间属性。请参阅和。@mzjn此解决方案有效,但我有一个问题。。。我得到了名称空间中不需要的部分
我想去掉
xsi:D=“”
我已经更新了我的问题,所以所有元素都在那里。你能再帮我一点忙吗?确切的产量是多少?这不清楚。@mzjn对不起,我更新了我原来的问题。您在问题中还提到了
数据
数据
字段
元素,所需的输出是
。目前还不清楚想要的完整输出是什么。请编辑这个问题。不要在注释中添加此信息。您应该能够使用
QName
添加命名空间属性。请参阅和。@mzjn此解决方案有效,但我有一个问题。。。我得到了名称空间中不需要的部分
我想去掉
xsi:D=“”
我已经更新了我的问题,所以所有元素都在那里。你能再帮我一点忙吗?确切的产量是多少?这不清楚。@mzjn对不起,我更新了我原来的问题。您在问题中还提到了
数据
数据
字段
元素,所需的输出是
。目前还不清楚想要的完整输出是什么。请编辑这个问题。不要在评论中添加此信息。
<Database xmlns:xsi="http://www.w3.org/" xsi:D="" xmlns="http://www.staubli.com/" />