我有下面的XML文件,这是较长的,但我只挑选了一部分,我想改变。我喜欢将文本从“false”改为“true”,然后写回相同的文件名。我已经搜索和阅读了一些线程和最近我得到的是下面的代码,但它没有做我想要的。你知道吗
文件如下:
<settings>
<setting id="HomeMenuNoWeatherButton" type="bool">false</setting>
<setting id="HomeMenuNoPicturesButton" type="bool">false</setting>
<setting id="HomeMenuNoMusicButton" type="bool">false</setting>
</settings>
我在其中一个线程中尝试的代码:
from xml.etree import ElementTree as et
tree = et.parse('path to settings.xml')
tree.find('settings/setting id="HomeMenuNoWeatherButton" type="bool"').text = 'true'
tree.find('settings/setting id="HomeMenuNoPicturesButton" type="bool"').text = 'true'
tree.find('settings/setting id="HomeMenuNoMusicButton" type="bool"').text = 'true'
tree.write('path to settings.xml')
我希望文件是:
<settings>
<setting id="HomeMenuNoWeatherButton" type="bool">true</setting>
<setting id="HomeMenuNoPicturesButton" type="bool">true</setting>
<setting id="HomeMenuNoMusicButton" type="bool">true</setting>
</settings>
选择器表达式不是有效的XPath表达式。使用
[]
作为筛选器谓词,使用@
作为属性,例如:而不是使用:
用途:
相关问题 更多 >
编程相关推荐