Bonjour, j
j'ai une fonction qui lit un fichier xml (litDonnees(), après le lecture de ce fichier, je dois mettre à jour un objet valeursCourantes avec les données lues en xml.
Problème, tant que je reste dans ma fonction litDonnees, les console.log me renvoient bien les données lue en xml.
une fois en dehors de cette fonction, quand j'essaie de faire un console.log plusieurs essaie comme ci-dessous, j'ai un undefined pour litDonnees.
mon xml:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?xml version="1.0" encoding="utf-8"?> <meteo xsi:noNamespaceSchemaLocation="XSD.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <vent>41</vent> <pression>1040</pression> <temp>-6</temp> <visibilite >4.2</visibilite> <nuage>apocalypse</nuage> </meteo>
mon JS:
J'ai relu la portée des variables et sur mais rien n'y fait.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 //table d'association des valeurs var valeursCourantes = { temp : -42, vent : 10, visibilite : 5, pression : 1013, nuage : "gris" } //lecture d'un document xml et affichage dans la console function litDonnees() { $.get("donnees.xml", function(xmlDocument) { //console.log(xmlDocument) $(xmlDocument).find("meteo").each (function() { valeursCourantes.vent = $(this).find("vent").text(); console.log(valeursCourantes.vent); valeursCourantes.pression = $(this).find("pression").text(); console.log(valeursCourantes.pression); valeursCourantes.temp = $(this).find("temp").text(); console.log(valeursCourantes.temp); valeursCourantes.visibilite = $(this).find("visibilite").text(); console.log(valeursCourantes.visibilite); valeursCourantes.nuage = $(this).find("nuage").text(); console.log(valeursCourantes.nuage); var donnees = { vent: valeursCourantes.vent, pression: valeursCourantes.pression, temp: valeursCourantes.temp, visi: valeursCourantes.visibilite, nuage: valeursCourantes.nuage }; return donnees; }) }, "xml"); } console.log(litDonnees().vent); console.log(litDonnees().donnees.vent);
Partager