所以,我觉得这也许是我的基本监督。但是,我坚持使用列表中的值正确更新XML文本字段。我有一个包含4个元素的列表source = ['a', 'b', 'c', 'd']
。我可以遍历XML并找到需要更新的文本值(下面是简化版)。我无法掌握的是如何遍历subfields
,以便为source中的值更新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>
"""