我想知道与 SQL In 查询等效的 XPath 是什么。基本上在sql中我可以这样做:
select * from tbl1 where Id in (1,2,3,4)
所以我想在 XPath/Xsl 中有类似的东西:
IE
//*[@id= IN('51417','1121','111')]
请指教
我想知道与 SQL In 查询等效的 XPath 是什么。基本上在sql中我可以这样做:
select * from tbl1 where Id in (1,2,3,4)
所以我想在 XPath/Xsl 中有类似的东西:
IE
//*[@id= IN('51417','1121','111')]
请指教
(在 XPath 2 中)= 运算符总是像在中一样工作。
即你可以使用
//*[@id = ('51417','1121','111')]
一种解决方案是将选项写为单独的条件:
//*[(@id = '51417') or (@id = '1121') or (@id = '111')]
另一个看起来有点像黑客的稍微不那么冗长的解决方案是使用该contains
函数:
//*[contains('-51417-1121-111-', concat('-', @id, '-'))]
从字面上看,这意味着您正在检查id
属性的值(在分隔符之前和之后)是否是-51417-1121-111-
. 请注意,我使用连字符 ( -
) 作为允许值的分隔符;您可以将其替换为不会出现在id
属性中的任何字符。