[英]xpath expression with attribute in Element tree python
import xml.etree.ElementTree as ET
tree: ET = ET.parse(file)
tree.find('.//ns1:tag/@someattribute', ns)
导致{KeyError}'@' , xpath 表达式是正确的,据我所知,元素树中是否有任何方法可以直接使用 xpath 而不是使用.attrib
XPath 表达式在语法上是可以的。 问题是find()
只定位元素。 它不能用于查找属性。
这应该有效:
attr = tree.find('.//ns1:tag', ns).get('someattribute')
使用lxml ,您可以使用xpath()
方法(返回列表):
attr = tree.xpath('.//ns1:tag/@someattribute', namespaces=ns)[0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.