元素树python中带属性的xpath表达式

元素树python中带属性的xpath表达式,python,elementtree,Python,Elementtree,结果是{keyrerror}'@',据我所知xpath表达式是正确的,元素树中是否有任何方法可以直接使用xpath而不是使用.attrib来获取属性值xpath表达式在语法上是正确的。问题是find只定位元素。它不能用于查找属性 这应该起作用: import xml.etree.ElementTree as ET tree: ET = ET.parse(file) tree.find('.//ns1:tag/@someattribute', ns) 对于,可以使用xpath方法返回一个列表:

结果是{keyrerror}'@',据我所知xpath表达式是正确的,元素树中是否有任何方法可以直接使用xpath而不是使用.attrib来获取属性值xpath表达式在语法上是正确的。问题是find只定位元素。它不能用于查找属性

这应该起作用:

import xml.etree.ElementTree as ET
tree: ET = ET.parse(file)
tree.find('.//ns1:tag/@someattribute', ns) 
对于,可以使用xpath方法返回一个列表:

attr = tree.find('.//ns1:tag', ns).get('someattribute')

XPath表达式在语法上是正常的。问题是find只定位元素。它不能用于查找属性

这应该起作用:

import xml.etree.ElementTree as ET
tree: ET = ET.parse(file)
tree.find('.//ns1:tag/@someattribute', ns) 
对于,可以使用xpath方法返回一个列表:

attr = tree.find('.//ns1:tag', ns).get('someattribute')

@MartinHonnen我可以问一下为什么要把xpath放在字符串中吗?嗯,我明白了,很有趣,我从来都不知道字符串的功能。谢谢你的解释!:@MartinHonnen我可以问一下为什么要把xpath放在字符串中吗?嗯,我明白了,很有趣,我从来都不知道字符串的功能。谢谢你的解释!:ET中是否存在可以使用xpathNo获取甚至属性的功能?不幸的是,没有。@只能在谓词中理解。ET中是否有任何东西可以使用xpathNo获取属性?不幸的是,没有。@只能在谓词中理解。