我如何通过多个兄弟节点来测试它们是否匹配一个变量?



我需要根据目录检查一个变量,以查看是否有任何兄弟节点具有等于该变量的属性。我知道'='和' contains '不与通配符一起工作,所以我在考虑使用for-each和choose,但我不知道如何创建某种类型的变量或标记,告诉我是否有一个匹配。

使用contains函数的谓词来检查是否存在。例如:

<file>photo</file>
<path name="local">desktop</path>

在本例中,使用带星号的following-sibling轴检查具有属性节点的file节点的所有兄弟节点,然后使用谓词检查节点值集中是否存在字符串local:

//file/following-sibling::*/@*[contains(../@*, 'local')]"

变量将替换字符串:

//file/following-sibling::*/@*[contains(../@*, $foo)]"

引用

  • MDN: XPath轴

相关内容

  • 没有找到相关文章

最新更新