lxml按名称查找元素,但在搜索中使用变量

时间:2017-02-01 16:47:39

标签: python lxml

我在lXML中遇到了find函数的问题。但我认为这是一个更通用的问题,如何告诉我要检查值,而不是对象引用。

所以这是有效的代码:

step = xml_obj.find('.//step/name[text()="Design"]').getparent()

如果我尝试用对象替换字符串,则结果始终为None。

stepn = 'Design'
step = xml_obj.find('.//step/name[text()=stepn]').getparent()

'NoneType' object has no attribute 'getparent'

1 个答案:

答案 0 :(得分:0)

stepn = 'Design'
step = xml_obj.find('.//step/name[text()={}]'.format(stepn)).getparent()

当你使用' '时,它是一个字符串,字符串中的任何元素都将被视为字符串,而不是变量。

使用format将变量添加到字符串