5
に子ノードに応じて異なった値を選択します。さんは、私は、次のXMLを持っていると言うのXQuery
<info>
<channel>
<A>
<X>
<title>title1</title>
</X>
<Y value="20"/>
</A>
</channel>
<channel>
<A>
<X>
<title>title1</title>
</X>
<Y value="20"/>
</A>
<A>
<X>
<title>title2</title>
</X>
<Y value="20"/>
</A>
</channel>
</info>
と、次のXQuery
{
for $A in doc('test.xml')//A
let $TITLE := $A/X/title
where string($A/Y/value) > 20
return
string($TITLE)
}
この、もちろん、出力:
title1
title1
title2
重複を削除するには、distinct-values
をどうすれば使用できますか? for
は本質的に1回の繰り返しにつき1つのアイテムしか与えないので、私はdistinct-values
を$A
にコールすることはできません。または、重複出力を削除する他の方法はありますか?
問題は別のノードを参照する必要があるため、ノードを返さないため基本的にdistinct-values(doc...)
を呼び出しても機能しません。
1:
更新終了
はあなたが反復したい、その上XPath式に
distinct-values
を適用します/ XPath式。 –ありがとうございました!私は後でそれを見てみましょう! – slhck
@slhckだからどうしたの? –