2012-12-18 26 views
0

我使用這個URL來獲得一個給定的位置信息(緯度/經度):的XQuery:獲得在許多隻有一個XML元素名稱相同

http://maps.googleapis.com/maps/api/geocode/xml?latlng=48.845909,2.341762&sensor=true

什麼我想要做的是獲得這個地方(地址,城鎮)的基本地址。所以,我想這個XQuery的要求:

let $lat := 48.845909, 
$lng := 2.341762, 
$url := concat('http://maps.googleapis.com/maps/api/geocode/xml?latlng=',$lat,',',$lng,'&sensor=true'), 
$resp := doc($url) 
return $resp//result/formatted_address/string() 

但是有了這個,我得到的所有的formatted_address XML結果的元素,所以在這裏我得到:

12 Rue Royer-Collard, 75005 Paris, France 
Val-de-Grâce, Paris, France 
75005 Paris, France 
5th arrondissement of Paris, Paris, France 
Paris, France 
Paris, France 
Île-de-France, France 
France 

,我只希望在第一行。我該怎麼辦 ?

回答

1

只需使用[1]來獲得的第一個元素:

let $lat := 48.845909, 
$lng := 2.341762, 
$url := concat('http://maps.googleapis.com/maps/api/geocode/xml?latlng=',$lat,',',$lng,'&sensor=true'), 
$resp := doc($url) 
return ($resp//result/formatted_address/string())[1] 

或者,它(可能更快)移動到第一個結果:

let $lat := 48.845909, 
$lng := 2.341762, 
$url := concat('http://maps.googleapis.com/maps/api/geocode/xml?latlng=',$lat,',',$lng,'&sensor=true'), 
$resp := doc($url) 
return $resp//result[1]/formatted_address/string() 
相關問題