繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM