1 回答

TA貢獻2037條經驗 獲得超6個贊
您的問題與其說是關于如何“替換 XML 值”,不如說是關于如何“跟蹤”您在循環內迭代了多少次。
你想要的是enumerate()
。
讓我們用一個簡單的例子來試試看。
我有一個包含星期幾及其名稱的文件,名為week.xml:
<week>
<day>
<name>Monday</name>
</day>
<day>
<name>Tuesday</name>
</day>
<day>
<name>Wednesday</name>
</day>
<day>
<name>Thursday</name>
</day>
<day>
<name>Friday</name>
</day>
<day>
<name>Saturday</name>
</day>
<day>
<name>Sunday</name>
</day>
</week>
讓我們使用值列表替換它們的名稱:
import xml.etree.ElementTree as ET
tree = ET.parse('week.xml')
root = tree.getroot()
short_days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
for idx, day in enumerate(root.findall("day")):
day.find("name").text = short_days[idx]
tree.write("short_week.xml")
這是名為short_week.xml的新文件:
<week>
<day>
<name>MON</name>
</day>
<day>
<name>TUE</name>
</day>
<day>
<name>WED</name>
</day>
<day>
<name>THU</name>
</day>
<day>
<name>FRI</name>
</day>
<day>
<name>SAT</name>
</day>
<day>
<name>SUN</name>
</day>
</week>
添加回答
舉報