使用ElementTree处理XML配置文件时遇到问题。我希望有一种简单的方法来查找元素的文本,而不管它在XML树中的什么位置。从文档中可以看出,我应该可以用findtext()来实现这一点,但是不管怎样,我都没有返回值。我在这里哪里做错了?每个人都告诉我XML在Python中很容易处理,但我除了麻烦什么都没有。在
configFileName = 'file.xml'
def configSet (x):
if os.path.exists(configFileName):
tree = ET.parse(configFileName)
root = tree.getroot()
return root.findtext(x)
hiTemp = configSet('hiTemp')
print hiTemp
以及XML
^{pr2}$预期结果
80
实际结果
None
您可以使用xpath来获取所需的元素。在
return root.find('./events/airTemps/hiTemp').text
很容易理解documentation here。在
findtext
需要完整的路径,但您已经给出了一个相对路径,因此找不到要查找的元素。在您可以提供良好的xpath或修改代码
更新1:
如果你想把所有匹配的文本作为一个列表,那么代码就有点不同了。在
^{pr2}$相关问题 更多 >
编程相关推荐