我有一个非常复杂的网站HTML,我想通过相对XPath选择多组元素。例如://div[@class="something] | //span/div | //div/span/div[@class="otherthing"]
选择了所有元素后,我想排除同一xpath中的某些特定元素。
假设上面的xpath返回了150个元素,我想排除下面3个xpath,它们都指向1个元素,所以最终结果应该是找到了147个元素://div[@id="menu"]
//div/span/div[@class="something3"]
//body/span/div/span/div[1]
如何在1个xpath中使用xpath 1完成此操作?
我已经尝试了这里的解决方案,但这只适用于当你选择一个组,你想从排除:https://stackoverflow.com/a/74615054/12366148
我也尝试了多种方法来组合'not'和'self'命令,但是似乎没有任何效果。不幸的是,我不能使用except操作符,因为它只在Xpath 2.0中有效。
1条答案
按热度按时间ibps3vxo1#
给定
<xsl:variable name="ns1" select='//div[@class="something] | //span/div | //div/span/div[@class="otherthing"]'/>
和<xsl:variable name="ns2" select='//div[@id="menu"] | //div/span/div[@class="something3"] | //body/span/div/span/div[1]'/>
,可以使用例如:我的XPath1记忆是否还能用。
您没有使用XSLT标记,所以我猜您需要