You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用XPath表达式检查字符串是否存在于字符串列表中

检查字符串是否存在于列表中的XPath表达式方案

XPath 2.0 及以上版本

XPath 2.0+原生支持序列(类似字符串列表),可以直接用等于比较或exists()函数实现存在性检查,返回布尔值:

  1. 直接使用等于运算符
    等于运算符作用于序列时,会检查目标字符串是否与序列中任意元素匹配,匹配则返回true(),否则返回false():

    "XY" = ("XY", "PP", "DD")
    

    如果用变量存储目标字符串和列表,写法更灵活:

    $targetStr = $stringList
    

    (其中$targetStr是你要检查的字符串,$stringList是定义好的字符串序列,比如("XY", "PP", "DD"))

  2. 使用exists()函数
    先过滤序列中与目标字符串匹配的元素,再检查是否存在匹配结果:

    exists(("XY", "PP", "DD")[. = "XY"])
    

XPath 1.0 版本

XPath 1.0不支持原生序列,只能通过**多个逻辑或(or)**拼接等于判断来模拟列表检查:

"XY" = "XY" or "XY" = "PP" or "XY" = "DD"

如果使用变量:

$targetStr = "XY" or $targetStr = "PP" or $targetStr = "DD"

补充说明

你之前用的contains()函数是用于检查一个字符串是否包含另一个子串,不是判断元素是否存在于列表,所以无法满足需求。上述方案都是基于精确匹配的存在性检查,如果需要模糊匹配(比如列表元素包含目标字符串),可以结合contains()和逻辑或(XPath1.0)或序列过滤(XPath2.0+)实现,比如XPath2.0+写法:

exists(("XY", "PP", "DD")[contains(., "X")])

内容的提问来源于stack exchange,提问作者Shubham Chaurasiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:45:51