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

维奈G
import xml.etree.ElementTree as ET
tree: ET = ET.parse(file)
tree.find('.//ns1:tag/@someattribute', ns) 

导致{KeyError}'@',据我所知xpath表达式是正确的,元素树中是否有任何方法可以直接使用xpath而不使用.attrib获取属性值

z

XPath表达式在语法上是可以的。问题在于find()仅定位元素。它不能用于查找属性。

这应该工作:

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

使用lxml,您可以使用xpath()方法(返回列表):

attr = tree.xpath('.//ns1:tag/@someattribute', namespaces=ns)[0]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有嵌套属性的动态linq表达式树

构造具有链接属性的表达式树?

使用表达式树初始化具有任意数量属性的新匿名对象

表达式树创建具有类属性值的字典

返回具有相似属性的子级的 XML XPath 表达式

具有动态参数的表达式树

具有count()> 1的表达式树

具有表达式树的Linq SubSelect

具有在语法树中的节点上定义的层次结构的表达式模板

更改xml树中具有与特定正则表达式模式匹配的标签的值

正则表达式查找具有给定属性的React JSX元素?

具有名称空间的xpath表达式

具有ID和包含Text的Xpath表达式

如何在 XSL 模板的 XPath 表达式中查找所有不匹配的元素?

正则表达式匹配除具有特定属性的元素以外的所有其他元素

Xpath表达式在Scrapy中获取可选元素

Python中的Selenium显示无法使用xpath表达式定位元素

在表达式中具有多个属性的 R 数据帧中搜索

使用xpath,找到具有给定部分ID的HTML元素(可能是正则表达式)

使用正则表达式和Python选择具有特殊字符的元素

元素隐式具有“ any”类型,因为ANGULAR中的type表达式

具有多个嵌套属性的Linq表达式

具有通用属性的LINQ表达式

具有布尔表达式的AEM XML必需属性

使用正则表达式从JSON中删除具有给定属性的对象

在表达式树中调用lambda表达式

如何从元素中删除角度表达式属性

具有语句主体的lambda表达式无法转换为表达式树(Lambda和Linq)

提取属性值的 XPath 表达式