问题
I have a problem with the find function in lXML. But i think this is more a generic question how to tell that i want to check against the value, not the object reference.
So here is the code that works:
step = xml_obj.find('.//step/name[text()="Design"]').getparent()
If i try to replace the string with an object, the result is always None.
stepn = 'Design'
step = xml_obj.find('.//step/name[text()=stepn]').getparent()
'NoneType' object has no attribute 'getparent'
回答1:
stepn = 'Design'
step = xml_obj.find('.//step/name[text()={}]'.format(stepn)).getparent()
when you use ' '
, it's a string , any element in string will be treated as a string, not a variable.
Use format
to add variable to string
来源:https://stackoverflow.com/questions/41985178/lxml-find-element-by-name-but-use-variable-in-search