XML文件
<Cities>
<Place>
<City n="New Delhi"></City>
<City n="Chandigarh"></City>
<City n="Mumbai"></City>
</Place>
<Place>
<City n="New Delhi"></City>
<City n="Chandigarh"></City>
</Place>
<Place>
<City n="New Delhi"></City>
<City n="Mumbai"></City>
</Place>
</Cities>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下XQuery -
for $x in doc("sample")/Cities/Place/City
order by $x/@n
return distinct-values($x/@n)
Run Code Online (Sandbox Code Playgroud)
我期待的结果是 -
Chandigarh Mumbai New Delhi
但得到 -
Chandigarh Chandigarh Mumbai Mumbai New Delhi New Delhi New Delhi
请告诉我哪里出错了?
Joh*_*ohn 13
请尝试这个 -
for $x in distinct-values(doc("sample")/Cities/Place/City/@n)
order by $x
return $x
Run Code Online (Sandbox Code Playgroud)
我已经使用baseX 7.1检查了相同的内容并按照您的预期顺利运行:)
您现在分别调用distinct-values每个值.distinct-values返回序列中的不同值,但序列现在只包含一个元素.你应该叫distinct-values(...)这里...是城市名的序列.