XPTY0004 预期项目,找到序列,如何使用 Xquery 查找序列中是否存在值

问题描述

嗨..我想确定一个值是否存在于序列中,例如,如果我有一个如下所示的 XML

<module>
<content>
<customer SC="25" item="200">
<Number id="250">
<Character Value="PRE" Evaluate="1">
<count Number="1" Name="Sree">FOR XYZ 1994,1995,1996,1997,0357,0376</count>
</Character>
<Character Value="EMB">
<count Number="154" Name="Sree" Evaluate="1">FOR XYZ 1995,1994,0376</count>
</Character>
</Number>
</customer>
<customer SC="25" item="200" >
<Number id="780" >
<Character Value="EMB" Evaluate="1">
<count Number="1" Name="Sree">FOR XYZ 1998,0376</count>
</Character>
<Character Value="EMB">
<count Number="154" Name="Sree" Evaluate="1">FOR XYZ 0357,0376</count>
</Character>
</Number>
</customer>
<customer SC="25" item="240">
<Number id="666" Value="123" >
<Character Value="EMB">
<count Number="2" Name="Sree" Evaluate="1">FOR XYZ 1995,0376</count>
</Character>
</Number>
</customer>
<customer SC="25" item="280">
<Number id="1994" Value="1234" >
<Character Value="POST">
<count Number="3" Name="Sree" Evaluate="1">FOR XYZ 1994,1909,0376</count>
</Character>
</Number>
</customer>
<customer SC="25" item="300">
<Number id="19956" Value="1235" >
<Character Value="PRE">
<count Number="4" Name="Sree" Evaluate="1">FOR XYZ 1997,0376</count>
</Character>
</Number>
</customer>
</content>
</module>

请在下面找到xquery

    for  $p in doc("abc.xml")//module/content
    let $csns := $p/catalouge
        for $csn in $csns
            let $item := $csn/string(@item)
            let $isns := $csn/Number
            for $isn in $isns
              let $id := $isn/string(@id)
      let $count :=  $isn/Character/data(count)
      let $count_status := contains($count,'1994')
return $count_status

我正在尝试检查计数标记是否具有返回布尔值的值 1994(FOR A/C 1994、1995、1996、1997、0357、0376) 在运行 Xquery 时,我尝试使用 contains 函数但徒劳无功,当我在 Xquery 上方运行时出现错误

错误: [XPTY0004] 预期项目,找到的序列:(“FOR A/C 1994,0376”,...)。

但我需要返回一个布尔值

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)