使用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')