4

私は2つのXMLファイルを持っています:

file1.xml

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

file2.xml

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

このデータを 2 つの変数に保存しました。

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

そしてこれを始めました:

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

私は何をすべきか ?ありがとう

編集:もちろん、含んでみましたが、エラーが発生しました:

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

クエリの実行中に例外が発生しました: XPTY0004: 'xs:boolean(true)' を xs:integer に変換できません

4

3 に答える 3

10

これは役立つかもしれません:

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

fn:contains() は、部分文字列を一致させるために構築されているため、ここでは役に立ちません。

contains('abc', 'a') ► true
于 2012-12-20T20:40:59.290 に答える