Python lxml。将 findall 与变量一起使用

Python lxml. Use findall with a variable

XML 片段如下所示:

    <certificate name='first_item'>First text,</certificate>
    <certificate name='second_item'>Second text,</certificate>
    <certificate name='second_item'>Third text,</certificate

我可以使用 findall() 轻松挑选出一个元素:

mystring = xmlroot.findall('certificate[@name="first_name"]').text

但我不能使用变量来做到这一点:

item_option = 'first_item'
mystring = xmlroot.findall('certificate[@name=item_option]').text
full_search_string = 'certificate[@name="first_name"]'
mystring = xmlroot.findall(full_search_string).text

最后这两个选项都失败了。如何将 String 变量插入到 findall() 方法中? 如果我不想根据名称属性对过滤器进行硬编码,我该怎么做?

尝试将变量连接到字符串。您的变量作为字符串传递,因此不会被解释。

mystring = xmlroot.findall('certificate[@name="' + item_option + '"]')