我需要用Python操作XML文件中的值的帮助。在
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>
我需要能够根据值更改值。在
到目前为止,我有这个:
^{pr2}$这段代码可以工作,但那只是因为它是第一个块。如果我这样做,什么也不会发生:
if tree.find('.//COMMON').text == 'Columbine':
tree.find('.//PRICE').text = '3.50'
有人能给我指出正确的方向吗?如何根据“共同”价值更改所有植物的价格值。我还尝试了一些不同的方法,在xml文件中循环,但没有成功。在
谢谢!在
正如documentation for find所说,它在找到的第一个节点处停止。您需要迭代父节点以找到所有这些节点,并检查其值。这里有一个例子。在
相关问题 更多 >
编程相关推荐