Итак, я чувствую, что это может быть основным упущением от моего имени.Но я застрял на правильном обновлении текстового поля XML со значениями из списка.У меня есть список с 4 элементами source = ['a', 'b', 'c', 'd']
.Я могу перебрать XML и найти текстовые значения, которые мне нужно обновить (упрощенная версия ниже).Я не могу понять, как перебирать subfields
так, чтобы subfield.text обновлялся для значений в источнике.
Я пробовал -
for s in source:
for su in root.iter('subfield'):
if su.items()[-1][1] == 'Target':
su.text = s # this makes all values d
print(su.text)
"""<field align="left" seq="1" type="text">aqwe
<subfield align="left" name="Target" type="text"/>
</field>
<field align="left" seq="1" type="text">fghg
<subfield align="left" name="Target" type="text"/>
</field>
<field align="left" seq="1" type="text">fdad
<subfield align="left" name="Target" type="text"/>
</field>
<field align="left" seq="1" type="text">asdf
<subfield align="left" name="Target" type="text"/>
</field>
"""
В идеалеэто будет:
"""<field align="left" seq="1" type="text">aqwe
<subfield align="left" name="Target" type="text"/>a
</field>
<field align="left" seq="1" type="text">fghg
<subfield align="left" name="Target" type="text"/>b
</field>
<field align="left" seq="1" type="text">fdad
<subfield align="left" name="Target" type="text"/>c
</field>
<field align="left" seq="1" type="text">asdf
<subfield align="left" name="Target" type="text"/>d
</field>
"""