【发布时间】:2020-07-10 13:29:00
【问题描述】:
我正在尝试通过以下规则从我的 XML 中选择节点:
具有属性 k='k1' 和(v='v1' 或 v='v2')的名为“tag”的节点的父级
如何使用 python 和 ElementTree 实现它?我尝试了以下代码,但收到错误“SyntaxError: invalid predicate”
roads = root.findall(".//tag[@k='k1'][@v='v1' or @v='v2']/..")
roads = root.findall(".//tag[@k='k1' and (@v='v1' or @v='v2')]/..")
更新
XML 示例
<parent>
<tag k="k1" v="v1"/>
<tag k="k1" v="v2"/>
<tag k="k1" v="v3"/>
</parent>
【问题讨论】:
-
首先,你能用一个简短的、有代表性的xml样本来编辑你的问题吗?二、可以用lxml之类的库还是需要ET?
标签: python xpath elementtree