gpt4 book ai didi

xpath - XPath合并节点集

转载 作者:行者123 更新时间:2023-12-03 17:14:58 24 4
gpt4 key购买 nike

假设我有两个表达式://div[@class="foo"]//span[@class="foo"]。是否可以像这样“组合”它们:

//(div | span)[@class="foo"]


还是只能将两个完整表达式结合使用?

//div[@class="foo"] | //span[@class="foo"]

最佳答案

获得所有具有div的所有spanclass="foo"元素的更惯用的方式(我敢说可读)是这样的:

//*[(self::div or self::span) and @class="foo"] 


用英语讲:


选择所有本身就是div或span且具有class属性值为'foo'的元素


对于您的原始问题,以下表达式返回相等的结果:


(//div | //span)[@class="foo"]
//div[@class="foo"] | //span[@class="foo"]


前一个给你的集合是文档中所有 divspan元素的并集,进一步过滤后只包含那些具有 class="foo"的元素,而后者给你提供了1)所有< cc>元素具有 div的元素; 2)所有 class="foo"元素具有 span的集合。

显然,这两个集合包含相同的东西。

关于xpath - XPath合并节点集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20725383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com