Boucle et xml
Publié : dim. 16/mars/2014 18:23
Salut tous le monde,
Pour un de mes nombreux projet je doit récupérer les données d'un fichier xml dont voici un exemple:
Je doit récupérer le contenue de chaques "lat" et "lng" qui ce trouve dans chaque noeud "marker". Voici la portion de code que j'essaye d'utiliser pour lire ligne par ligne et récupérer les information qu'il me faut mais sans succès car je récupère uniquement les données du premier noeud et rien d'autre. J'avoue être vraiment perdu avec le xml.
Merci d'avance pour votre aide.
Pour un de mes nombreux projet je doit récupérer les données d'un fichier xml dont voici un exemple:
Code : Tout sélectionner
<markers time="16:50(UTC)" counter="10">
<marker id="d34efcab51953d0b818395d11a123d0c" datetime="2014-03-16 16:40:36" strength="4.56" lat="47.286192" lng="24.178260"/>
<marker id="65e19a4902592c0098cbbc477044f18a" datetime="2014-03-16 16:45:03" strength="5.83" lat="47.295484" lng="24.112949"/>
<marker id="8f777ed3e5847c5f144c5bf4a0276c54" datetime="2014-03-16 16:49:51" strength="19.21" lat="33.458911" lng="22.946880"/>
<marker id="f81868f2b40c2ac181724ebfda402542" datetime="2014-03-16 16:35:35" strength="3.79" lat="47.327942" lng="24.001179"/>
<marker id="fef7af47a5b4db3d4c806a397c1349a4" datetime="2014-03-16 16:35:35" strength="12.49" lat="47.385373" lng="24.256635"/>
<marker id="abeef7f87af537b0d6b521d4accdd39f" datetime="2014-03-16 16:35:35" strength="5.36" lat="47.309449" lng="24.289820"/>
<marker id="21f9e4c8fa9d871ee134c289a16be310" datetime="2014-03-16 16:36:33" strength="4.08" lat="47.368426" lng="24.269781"/>
<marker id="a6ee50c0d09dc356cd62403eb1eb8ef8" datetime="2014-03-16 16:36:33" strength="4.35" lat="47.429556" lng="23.875998"/>
<marker id="240c27b91df2e382e8cf2585a55d4f42" datetime="2014-03-16 16:39:03" strength="5.87" lat="47.303571" lng="24.167737"/>
<marker id="bac21947fa3522f6c7e8fa9a27fbbac5" datetime="2014-03-16 16:39:04" strength="4.51" lat="47.326119" lng="24.144336"/>
</markers>
Code : Tout sélectionner
If LoadXML(#xmlBlitz, "Blitz.xml", #PB_UTF8)
If XMLStatus(#xmlBlitz) <> #PB_XML_Success
Message$ = "Fichier XML Corrompu" + Chr(13)
Message$ + "Message: " + XMLError(#xmlBlitz) + Chr(13)
Message$ + "Ligne: " + Str(XMLErrorLine(#xmlBlitz)) + " Caractere: " + Str(XMLErrorPosition(#xmlBlitz))
MessageRequester("Erreur", Message$)
End ;Sortie
EndIf
*nodemarkers = XMLNodeFromPath(MainXMLNode(#xmlBlitz), "marker")
ExamineXMLAttributes(*nodemarkers)
While NextXMLAttribute(*nodemarkers)
Lat$ = GetXMLAttribute(*nodemarkers, "lat")
Lng$ = GetXMLAttribute(*nodemarkers, "lng")
Wend
Debug lat$
Debug lng$
EndIf