Bonjour,
J'utilise XPath 2.0 (j'ai testé avec la fonction current-date() sans argument pour le vérifier).
Je tente de faire une jointure avec le fichier XML ayant la structure suivante :
Je souhaite afficher la latitude et la longitude des nodes étant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <node id="2968371377" visible="true" version="1" changeset="24213464" timestamp="2014-07-18T04:51:05Z" user="ecdos" uid="762684" lat="48.1405217" lon="16.0331804"/> <node id="2968371384" visible="true" version="1" changeset="24213464" timestamp="2014-07-18T04:51:05Z" user="ecdos" uid="762684" lat="48.1405617" lon="16.0332849"/> <way id="293258470" visible="true" version="1" changeset="24213464" timestamp="2014-07-18T04:51:11Z" user="ecdos" uid="762684"> <nd ref="2968371376"/> <nd ref="2968371377"/> <nd ref="2968371373"/> <nd ref="2968371371"/> <nd ref="2968371376"/> <tag k="busg" v="yes"/> </way> <way id="293258502" visible="true" version="1" changeset="24213464" timestamp="2014-07-18T04:51:13Z" user="ecdos" uid="762684"> <nd ref="2968371383"/> <nd ref="2968371384"/> <nd ref="2968371379"/> <nd ref="2968371378"/> <nd ref="2968371383"/> <tag k="building" v="yes"/> </way>
1- dans un way
2- dans un way ayant un tag de valeur building
Avec les éléments ci-dessus : ma requête ne doit renvoyer que les coordonnées du point d'id 2968371384, pas les autres (et pas 2968371377).
J'ai essayé la requête suivante pour la latitude seulement (la longitude c'est pareil) :
ça me renvoi les coordonnées de l'id 2968371384 et de l'id 2968371377.
Code : Sélectionner tout - Visualiser dans une fenêtre à part /node[../way/tag[@k="building"] and ../way/nd/@ref=./@id]/@lat
A noter que je ne souhaite faire qu'une seule requête XPATH car je peux aussi faire des boucles imbriquées dans Matlab avec des appels de requête mais c'est trop lent pour de gros fichiers.
Merci pour votre aide
Partager