python elementtree xpath - 在 findall @name=VARIABLEHERE 中插入变量

python elementtree xpath - insert variable in findall @name=VARIABLEHERE

是否可以将变量通过管道传递给 @name 属性?

import xml.etree.ElementTree as ET
tree = ET.parse('C:/test.xml')
root = tree.getroot()

somelist = [x.text for x in root.findall(".//actionList[@name='VARIABLEHEREinsteadoftext']//value")]

我只需要从按名称过滤的特定动作列表中获取所有值,而忽略所有其他动作列表。它适用于

[@name="ACTIONLISTNAME"]

但我想要这样的东西:

X = ACTIONLISTNAME
[@name=X]

提前致谢!

使用字符串格式:

value = "ACTIONLISTNAME"
root.findall(".//actionList[@name='%s']//value" % value)

来自@alecxe 的字符串格式化答案工作正常,但如果您想使用 F-strings formatting,您可以改为这样做:

注意架构部分中转义的双大括号

xml_element.findall(f"{{x-schema:schema.xml}}row[@{attribute_name}='{attribute_value}']")