我想知道什么XPath相当于SQL In查询。基本上在SQL我可以做到这一点:什么是XPath相当于SQL查询?
select * from tbl1 where Id in (1,2,3,4)
,所以我想在的XPath/XSL类似的东西:
即
//*[@id= IN('51417','1121','111')]
请指点
我想知道什么XPath相当于SQL In查询。基本上在SQL我可以做到这一点:什么是XPath相当于SQL查询?
select * from tbl1 where Id in (1,2,3,4)
,所以我想在的XPath/XSL类似的东西:
即
//*[@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
属性的值(preceeded并由分隔符字符继承)是-51417-1121-111-
的子字符串。请注意,我使用连字符(-
)作为允许值的分隔符;您可以将其替换为不会出现在id
属性中的任何字符。
你真的需要说你是否使用XPath 1.0或2.0。它造成巨大的差异。 –