使用python 3在xml中的子标记的开头添加属性

使用python 3在xml中的子标记的开头添加属性,xml,python-3.x,lxml,Xml,Python 3.x,Lxml,我试图在标记中添加属性,但应该是在开头。 我的意见是: <data> <Test Name="A" Class="1"/> <Test Name="B" Class="2"/> <Test Name="C" Class="3"/> </data> 谢谢 元素中的属性是一组无序的(名称、值)对。无法在无序集中的特定位置插入项 如果您正在为需要按特定顺序提供属性的消费应用程序生成

我试图在标记中添加属性,但应该是在开头。 我的意见是:

<data>
        <Test Name="A" Class="1"/>
        <Test Name="B" Class="2"/>
        <Test Name="C" Class="3"/>      
</data>

谢谢

元素中的属性是一组无序的(名称、值)对。无法在无序集中的特定位置插入项


如果您正在为需要按特定顺序提供属性的消费应用程序生成数据,则消费应用程序已损坏,应予以修复。如果您无法修复它,您可能会找到允许您在序列化过程中对属性重新排序的工具:例如,Saxon-(PE/EE)具有序列化属性
Saxon:attribute order

根据定义,XML中属性的顺序被认为是无关紧要的。可能重复的
<data>
        <Test ID="Hello" Name="A" Class="1"/>
        <Test ID="Hello" Name="B" Class="2"/>
        <Test ID="Hello" Name="C" Class="3"/>       
</data>
<data>
        <Test Name="A" Class="1" ID="Hello"/>
        <Test Name="B" Class="2" ID="Hello"/>
        <Test Name="C" Class="3" ID="Hello"/>       
</data>
#import xml.etree.ElementTree as ET    
from lxml import etree as ET

tree = ET.parse('sample.xml')
root = tree.getroot()    
for test in root.iter('Test'):
    test.set('Class', 'Hello')

tree.write('output.xml')