使用ElementT返回XPath属性值

用户

我想用这种结构来评估XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<Service_name version="3.3.0">
...

其中Service_name标记名不是常量字符串,而version属性是必需的。在

为此目的,这个xpath表达式:/*[1]/@version在任何xpath处理器中都可以很好地计算,但是我无法理解Python ElementTree是如何计算的。在

例如:

^{pr2}$

提高KeyError: '@'

我试过类似的组合,但都不管用。在

如何使用ElementTree从上面的示例文档中获取版本号?在


已被浏览了4361次
更新日期: 2020-09-28 07:48:52
2 个回答
fefe Tyson

虽然不是XPath作为问题名,但这似乎是一种方法:

doc.getroot().get('version')

评论 - 2020年8月7日 16:58
fefe Tyson

ElementTree使用自己的路径语法,这或多或少是xpath的一个子集。如果您想要一个完全支持xpath的ElementTree兼容库,请尝试lxml。在

评论 - 2020年8月7日 16:58

最新Python问答

推荐Python问答