J'essaie d'obtenir des données météorologiques du service web openweathermap. Parmi les données se trouve l'iconCode afin de visualiser les conditions météo actuelles. Voici le xml-réponse de la requête donnée:JavaScript: Impossible de récupérer la valeur @var du fichier XML car var est réservé?
demande:
http://api.openweathermap.org/data/2.5/forecast?q=linz&units=metric&type=accurate&mode=xml&APPID=ef67184baece136977466e7894b2a614
une partie de la réponse: (i ai raccourci un peu)
<weatherdata>
<location>...</location>
<credit/>
<meta>...</meta>
<sun rise="2017-05-30T03:07:24" set="2017-05-30T18:54:07"/>
<forecast>
<time from="2017-05-30T09:00:00" to="2017-05-30T12:00:00">
<symbol number="800" name="clear sky" var="02d"/>
<precipitation/>
<windDirection deg="223" code="SW" name="Southwest"/>
<windSpeed mps="2.31" name="Light breeze"/>
<temperature unit="celsius" value="29.59" min="27.52" max="29.59"/>
</time>
<time from="2017-05-30T12:00:00" to="2017-05-30T15:00:00">
<symbol number="800" name="clear sky" var="01d"/>
<precipitation/>
<windDirection deg="227.001" code="SW" name="Southwest"/>
</time>
Je veux récupérer tous les iconCodes de tous les jours-prévisions. (Et cela fonctionne très bien avec la température, la direction du vent, etc ...
une partie de la fonction qui devrait obtenir les données du webservice:
for each (var item in xmlPage.forecast.time) {
var row = new Object();
var [email protected](0,10);
if(from_current_value!=from_today_value){
row.WindDirection = [email protected];
[email protected]mps;
row.WeatherTemp=parseFloat([email protected]);
row.WeatherHumidity=parseFloat([email protected]);
[email protected];
[email protected];
row.Title=xmlPage.location.name+" "+xmlPage.location.country;
row.Precipitation=([email protected]+" "[email protected])==" "?"No Precipitation":[email protected];
var iconCode = [email protected];
row.IconLink = "http://openweathermap.org/img/w/"+ iconCode +".png";
Si j'ai ajouté la ligne var = iconCode . item.symbol @ var, je reçois l'erreur de syntaxe suivante: ("var = iconCode item.symbol @ var" line33 est la ligne)
syntax check failed: missing name after [email protected] (Line#33)
Je pense que je reçois l'erreur parce que " var "est une chaîne réservée en JavaScript. Mais comment puis-je obtenir l'iconCode de la xmlPage alors? Aucune suggestion?
Merci beaucoup d'avance de m'avoir aidé! Meilleures salutations, Theresa
Pourriez-vous s'il vous plaît [essayer 'item.symbol ['@ var']' à la place] (https://stackoverflow.com/questions/4968406/javascript-property-access-dot-notation-vs-brackets)? – Pyromonk
Eh bien, ne devriez-vous pas pouvoir utiliser le .getAttribute() comme nous le faisons sur tous les objets DOM? https://www.w3schools.com/xml/met_element_getattribute.asp –