Мне нужна помощь в манипулировании значениями в файле XML с помощью Python.
XML выглядит следующим образом, но с еще большим количеством установок:
<CATALOG>
<PLANT>
<COMMON>Bloodroot</COMMON>
<BOTANICAL>Sanguinaria canadensis</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>2.44</PRICE>
<AVAILABILITY>031599</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Columbine</COMMON>
<BOTANICAL>Aquilegia canadensis</BOTANICAL>
<ZONE>3</ZONE>
<LIGHT>Mostly Shady</LIGHT>
<PRICE>9.37</PRICE>
<AVAILABILITY>030699</AVAILABILITY>
</PLANT>
<PLANT>
<COMMON>Marsh Marigold</COMMON>
<BOTANICAL>Caltha palustris</BOTANICAL>
<ZONE>4</ZONE>
<LIGHT>Mostly Sunny</LIGHT>
<PRICE>6.81</PRICE>
<AVAILABILITY>051799</AVAILABILITY>
</PLANT>
</CATALOG>
Мне нужно иметь возможность изменитьзначение на основе стоимости.
Пока у меня есть:
if tree.find('.//COMMON').text == 'Bloodroot':
tree.find('.//PRICE').text = '3.50'
Этот код работает, но это только потому, что это первый блок.Если я сделаю это, ничего не произойдет:
if tree.find('.//COMMON').text == 'Columbine':
tree.find('.//PRICE').text = '3.50'
Может ли кто-нибудь указать мне правильное направление здесь?Как изменить значения цены для всех заводов на основе значения «ОБЩИЕ».Я также пробовал разные вещи с циклическим просмотром XML-файла, но безуспешно.
Спасибо!