Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

METEOREADER : COMMENT PARSER UN FLUX XML DE METEO


Information sur la source



Description

Cliquez pour voir la capture en taille normale
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

  • 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();
  • }
                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();
		}

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Ombitious_Developper le 14/04/2007 18:50:00

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 ...

signaler à un administrateur
Commentaire de DARKSIDIOUS le 14/04/2007 19:26:21 administrateur CS

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

signaler à un administrateur
Commentaire de Ombitious_Developper le 14/04/2007 19:41:22

ok

signaler à un administrateur
Commentaire de Ombitious_Developper le 14/04/2007 19:43:58

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.

signaler à un administrateur
Commentaire de DARKSIDIOUS le 14/04/2007 19:57:59 administrateur CS

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

signaler à un administrateur
Commentaire de Hamtoto le 16/06/2009 10:09:31

Bonjour le code est clair et compréhensif néanmoins j'ai un soucis a faire fonctionner mon code qui est inspiré du tiens. il reste bloquer sur la ligne document = parser.build(url);
Comment si il n'arrivais a builder le document. les librairie sont correctement importer donc je vois pas ou est le souci si tu as des idées je suis preneur.

signaler à un administrateur
Commentaire de Hamtoto le 16/06/2009 11:00:59

Le problème venait du fait que le site auprès duquel je vais chercher les données météo n'offre pas du XML valid. Mais le souci est que le flux RSS qui est utilisé dans cette application semble avoir subit des modifications depuis le moment de la création de l'application. donc...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

SOAP / Webservice [ par Biggooch ] Bonjour, j'ai un probl&#232;me avec l'utilisation d'un webservice. Le webservice est &#233;crit en dotNET, et je dois r&#233;aliser une application ja XMl(RSS) [ par mimosa803 ] Bonsoir, j'ai un problème pour générer un fichier RSS à partir d'un fichier XML .J'utilise Jdom comme parseur XML pour manipuler le document XML . Bon Castor / Marshaller / XML / RSS [ par Teclis01 ] Bonjour Voilà j'ai un petit soucis ^_^Je recherche à utiliser Castor ou qqch de similaire pour générer un fichier xml de "type rss".J'ai plusieurs cla Intégration Java/J2EE et .net à l'aide de XML [ par rytta87 ] Comment implémenter une solution basée sur les technologies XML pour permettre d'échanger les données entre  .net et  Java/J2EE?   Merci concatener deux fichiers xml [ par nadimlegend ] SVP je veux faire la concatenation de deux fichiers xml avec netbeans mais j'arrive pas :( Fichier XML Hors Jar exe [ par said52 ] Bonjour,Je souhaiterai avoir un executable qui utilise un fichier XML externe.Est-il possible d'avoir un fichier XML hors de son jar executable .Si ou Gestion des balises XMl <include> avec un parser SAX-Handler [ par O Sensei ] Bonjour,   Voila tout est quasiment dans le titre. J'ai pour le moment mon parser SAX et un handler pour lire mon fichier XML. Je souhaiterai ajouter convertir un html en xml suivant un xsd [ par bassoumbassoum ] salut je veux savoir comment convertir un html en xml via un xsd JSP Forcer l'écriture d'un fichier xml [ par Evarist ] Bonjour,Je sauvegarde des news dans un fichier xml. J'utilise une jsp displayNews.jsp pour les affichées.Pour ajouter une news une jsp qui affiche le xml,xsl [ par amira21 ] SOSUrgent....Je cherche à créer un parseur de xsl qui peut prendre un fichier xsl en entrée et produire le design correspondant.C utile et très urgent


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.