Xpath 查询计数

问题描述

我正在查看项目代码库中的 XPath 查询

count(//*[local-name() = 'Offer'])

我需要修改代码,使其检查计数为 7。我不知道那会是什么样子。是这个吗?

[count(//*[local-name() = 'Offer']) = 7]

PS:我使用 Java 和 RestAssured 来运行测试。看起来我可以选择使用 Hamcrest 匹配器或 XmlAssert 匹配器。

解决方法

count(//*[local-name() = 'Offer']) = 7

没有 [] 括号。此表达式将检查本地名称为 Offer 的所有后代的计数是否为 7。
当然,如果您在节点检查中将其用作谓词,则括号是必需的。