IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Script pour extraire la meteo depuis un serveur XML.Probleme


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Script pour extraire la meteo depuis un serveur XML.Probleme
    Bonjour

    j essaie depuis une page web de presenter, grace a un javascript (client), la meteo d une ville.
    Pour ce faire j ai trouve un serveur qui fournissait ces donnees en format XML. Il me suffit donc d extraire les donnees de cette page...

    Mais je ne comprend pas pourquoi, la connection ne se fait pas correctement, j ai une erreur 'DocumentElement' a la valeur Null ou n est pas un objet.

    Y aurait il une ame charitable pour m aider sur ce script qui pourrait etre utile a bcp de monde...

    Merci beaucoup!!!

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <script language="javascript">
    <!--
     
    	// Les parametres du serveur qui me fournira les donnees.	
    	// URL = <Debut>+CodeVille+<Fin>
    	var Debut = "http&#58;//www.live.com/cfw/weatherdata.aspx?wealocations=fr&#58;";
    	var Fin = "&weadegreetype=C&culture=fr-fr&rand=0.0";
     
     
    	// Fonction qui initialise les objets
    	function Weather&#40;code&#41; 
    	&#123;				
    		//Parametres generiques &#40;chemins ...&#41;
    		this.Code = code;  //code de la ville &#40;clef&#41;
    		this.LocationName = null; // Description de la ville
    		this.URL = null; //debut du chemin pour l icone
    		this.ImageRelativeURL = null; // fin du chemin
     
    		//Meteo du Jour 
    		this.CurrentTemperature = null;
    		this.Skycode = null; //icone
    		this.SkyText = null; //description
    		this.Date = null; //date du jour
    		this.Day = null; // jour de la semaine
    		this.Time = null; // heure de la prevision
    	&#125;
     
    	// La fonction qui me pose probleme &#58; elle doit se connecter au serveur et placer les donnees dans l objet
    	Weather.prototype.GetData = function&#40;&#41;
    	&#123;		
    		// Creation de l objet 
    		var xmlData = new ActiveXObject&#40;"Microsoft.XMLDOM"&#41;;
    		xmlData.async=false;
     
    		// je precise l URL
    		var URL = Debut + this.Code + Fin;
     
    		// je verifie l URL
    		alert&#40;URL&#41;;
     
    		// je me connecte a la page XML
    		xmlData.load&#40;URL&#41;;
     
    		// je fais un test de connection aux donnees du fichier XML
    		alert&#40;xmlData.documentElement.childNodes&#40;1&#41;.text&#41;; // <---- La se trouve l erreur "DocumentElement Null", si cela foncitonnait je pourrais continuer...
     
    		//acces aux donnees
    		alert&#40;xmlData.root.children.item&#40;"weatherdata"&#41;&#41;; 
          &#125;
     
     
    	// initialisation des donnees de Strasbourg
    	var Strasbourg = new Weather&#40;"FRm_Strasbourg"&#41;;
     
    	// L objet Strasbourg doit recevoir les donnees METEO
    	Strasbourg.GetData&#40;&#41;;
     
    -->
    </script>

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    Tu es sur que tu recois bien un document XML valide ?

    et avec childnotes[1] plutot que (1) ?

  3. #3
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Oui & non
    Bonjour, tout d abord merci de ta reponse.

    Donc :
    Oui, mon fichier XML me semble valide (tu peux l essayer : toi meme en allant sur cette page : http://www.live.com/cfw/weatherdata....fr-fr&rand=0.0
    Non, meme en remplacant les '()' par des '[]', ca ne donne rien.

    toujours pas la moindre idee d ou le probleme peut venir...

    Zarma67

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 37
    Points
    37
    Par défaut
    Hello,

    tu utilises quoi comme navigateur ? je me rappelles avoir eu ce genre d'erreur sour FireFox en faisant de l'AJAX et j'ai fait passer le truc en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    xmlResponse = &#40;new DOMParser&#40;&#41;&#41;.parseFromString
    &#40;xmlHTTPRequest.responseText,"text/xml"&#41;.documentElement;
    soit dans ton cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    xmlData = &#40;new DOMParser&#40;&#41;&#41;.parseFromString
    &#40;xmlData,"text/xml"&#41;.documentElement;
    est-ce que cela fonctionne mieux ?

    Sébastien

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 159
    Points : 160
    Points
    160
    Par défaut
    En effet, la ton code n'est compatible que IE, les moteurs gecko n'implémentant pas d'active X

  6. #6
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut heheh ....
    en bien en fait ca ne marche toujours pas et le comble c est que je tourne bien sur IE.... Je commence a me demander si le probleme ne vient pas du serveur XML...

    Si vous avez un parser XMLquelconque, pourriez vous faire le test de connectivite?

    Merci d avance.
    Zarma67

  7. #7
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: heheh ....
    Citation Envoyé par Zarma67
    en bien en fait ca ne marche toujours pas et le comble c est que je tourne bien sur IE.... Je commence a me demander si le probleme ne vient pas du serveur XML...

    Si vous avez un parser XMLquelconque, pourriez vous faire le test de connectivite?

    Merci d avance.
    Zarma67
    Le XML est valide.

    Tu as essayé sans le documentElement? IE n'en a généralement pas besoin.
    Si tu fais juste un alert de ton document XML, il te retourne quoi?

  8. #8
    Candidat au Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Reponse
    Merci, j ai donc enleve le documentelement. et la debug de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert&#40;xmlData.childNodes&#40;0&#41;.text&#41;;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert&#40;xmlData.childNodes&#40;1&#41;.text&#41;;
    (avec des '()'ou des '[]')
    me donne "Objet requis".

    Donc c est toujours pas ca. A mon avis par un moyen que je ne comprend toujours pas la connection entre le server et le javascript est perdue.

    Pourriez vous utiliser un XML Parser qui fonctionne bien pour extraire n importe quel donnee du serveur ?
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/08/2008, 12h44
  2. Script pour copie de PST sur un serveur
    Par Grego057 dans le forum VBScript
    Réponses: 0
    Dernier message: 22/05/2008, 15h35
  3. Réponses: 3
    Dernier message: 26/02/2007, 19h19
  4. Cherche un script pour extraire toutes les URLs
    Par Athary dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 25/08/2006, 17h44
  5. [Batch] Scripts pour un systeme de backup sur serveur
    Par placebomuse dans le forum Windows
    Réponses: 3
    Dernier message: 22/04/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo