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 + '"]')
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 + '"]')