XQuery:如何尝试列表是否包含给定的字符串? [英] XQuery : how to try if a list contains a given string?

查看:116
本文介绍了XQuery:如何尝试列表是否包含给定的字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个XML文件:

file1.xml

file1.xml

<data>doe90</data>
<data>foo</data>
<data>goo</data>
...

file2.xml

file2.xml

<data2>nan</data2>
<data2>goo</data2>
<data2>test</data2>
...

我将此数据存储在2个变量中:

I stored this data in 2 vars :

let $data := //data,
$data2 := //data2

并开始执行此操作:

for $d in $data2
return 
if() (: $d is also in $data ? :)

我该怎么办?谢谢

编辑:我当然尝试包含,但是出现了错误:

EDIT : Of course I tried contains, but got an error :

if(contains($d,$data) = 0)




查询执行期间发生异常:XPTY0004:无法将
'xs:boolean(true)'转换为xs:integer

An exception occurred during query execution: XPTY0004: cannot convert 'xs:boolean(true)' to xs:integer


推荐答案

这可能会有所帮助:

//data[. = //data2] ► returns elements whose string values are contained in data2 
//data = //data2    ► returns true there are any matches, false otherwise

fn:contains()在这里无济于事,因为它是为匹配子字符串

fn:contains() won’t help here, as it was built for matching substrings:

contains('abc', 'a') ► true

这篇关于XQuery:如何尝试列表是否包含给定的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆