Meteoreader : comment parser un flux xml de meteo

Soyez le premier à donner votre avis sur cette source.

Vue 20 562 fois - Téléchargée 1 725 fois

Description

Il s'agit d'une petite source qui utilise les flux rss de weather.com pour afficher la météo des villes françaises (malheureusement, certaines ne sont pas disponibles sur le site !).

Cette source permet surtout de voir comment parser un fichier xml.

Pour pouvoir l'utiliser, il vous faut la librairie JDOM.

J'ai également dû supprimer quelques images pour que le zip passe, donc il est possible que certaines images ne s'affiche pas (nottament, les images pour le soir, ainsi que pour la neige).

Source / Exemple :


SAXBuilder parser = new SAXBuilder();
		Document document;
		try {
			int index = 0;
			document = parser.build(url);
			Element oRacine = document.getRootElement();
			for (Element element : (List<Element>) oRacine.getChild("dayf").getChildren("day")) {
				CMeteoData data = new CMeteoData();
				data.setTemperatureMax(new Double((5.0 / 9.0) * Double.parseDouble(element.getChildText("hi"))  - (160.0 / 9.0)).intValue());
				data.setTemperatureMin(new Double((5.0 / 9.0) * Double.parseDouble(element.getChildText("low"))  - (160.0 / 9.0)).intValue());
				data.setDay(++index);
				data.setIcon(Integer.parseInt(element.getChild("part").getChildText("icon")));
				_meteoDays.add(data);
			}
		}
		catch (JDOMException e) {
			e.printStackTrace();
		}
		catch (IOException e) {
			e.printStackTrace();
		}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
34 -
Salut: (10/10)

Comme d'habitude. (Code clair qui donne l'envie de le lire).

Juste une petite question comment as tu fais le lien avec le flux RSS?

Bonne continuation ...
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83 -
càd ???

Pour récupèrer le lien ?

Il suffit d'aller sur le site weather.com, rechercher la ville que l'on veut, et regarder l'adresse et trouver la logique de l'adresse pour des villes différentes (en l'occurence, le regId de mon enumération des villes).

DarK Sidious
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
34 -
ok
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
34 -
Donc tu changes ce regId par le nom de la région concernée et tu ouvres une connection si je ne me trompes pas.

J'ai posée cette question parceque j'ignorait comment la source de données est "faite" si c'est possible de le dire.
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
83 -
En fait, pour chaque ville, l'URL est la même, sauf l'id de la ville dont on veut récupèrer les données météo.

=> à chaque fois que l'utilisateur modifie le combo, il faut refaire l'URL avec le bon id de ville, puis il faut télécharger le flux XML venant de weather.com afin de récupèrer les nouvelles données, et enfin afficher les nouvelles images.

Donc on peut dire en effet que la source de données est redéfinie à chaque nouvelle ville sélectionnée.

DarK Sidious

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.