我有 2 个 XML 文件,第一个包含气象测量数据,第二个包含位置数据:
措施.xml
<measure latitude="45.90298482482" longitude="8.92092094">
...
</measure>
<measure latitude="45.29848284" longitude="8.72474724">
...
</measure>
...
位置.xml
<location latlng="45.9029,8.9209">
<address>8, Denver Road</address>
<place>Goodcity</place>
</location>
<location latlng="45.2984,8.7247">
<address>3, New Avenue</address>
<place>Goodcity</place>
</location>
所以我想做的是:存储给定地点的所有纬度,然后尝试通过使用子字符串来获取与其对应的度量。这是我尝试过的,但一直返回 0 :
for $l in //location
where $l/place/string() = 'Goodcity'
return
let $test := $l/@latlng/string()
return
for $m in //measure
where concat(substring($m/@latitude/string(),0,8),',',substring($m/@longitude/string(),0,7)) = $test
return $m
任何的想法?
编辑:问题不在于我使用susbtring(lat,0,8)
and的事实substring(long,0,7)
,我知道我的位置文件,这些将始终返回 4 位小数的数字。
编辑2:终于可以了,虽然我的要求很长,你认为有办法简化它吗?