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 :

DOMParser ne reconnais pas mon XML


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut DOMParser ne reconnais pas mon XML
    Bonjour,

    Dans l'optique de charger dynamiquement des informations sur une page web, j'essaye de parser le retour XML d'un appel Ajax. Je viens tout juste de commencer que déjà, j'ai 2 difficultés...

    1er difficulté

    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
     
            // je vous passes les details du new XHR
            xhr_asynchrone.open("POST",'./nav.php',true);
    	xhr_asynchrone.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
    	xhr_asynchrone.send("");
    	xhr_asynchrone.onreadystatechange = function()
    	{ 
    		if (xhr_asynchrone.readyState==4)
    		{ 
    			if (xhr_asynchrone.status == 200) 
    			{ 
    				alert(xhr_asynchrone.responseText);
    				alert(xhr_asynchrone.responseXML); 
    			} 
    			else 
    			{ 
    				alert('Erreur chargement parametres !');
    			} 
    		} 
    	}
    sur le 1er alert, j'ai exactement :

    <semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine>
    sur le 2eme, j'ai juste "null"... Je ne devrais pas avoir un XMLObject ? y'a t-il quelque chose que je fasse mal ?

    2eme difficulté

    Dans le doute, j'ai mis la chaine de caracteres ci-dessus direct dans une string, et je l'ai donné à manger au parser :

    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
    txt_xml_calendar = '<semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine>';
     
    	if (window.DOMParser)
    	{
    		parser=new DOMParser();
    		xmlCalendar=parser.parseFromString(txt_xml_calendar,"text/xml");
    	}
    	else // Internet Explorer
    	{
    		xmlCalendar=new ActiveXObject("Microsoft.XMLDOM");
    		xmlCalendar.async=false;
    		xmlCalendar.loadXML(txt_xml_calendar); 
    	} 
     
    	MkCalendrier(document.getElementById('left_box_calendrier'), xmlCalendar);
    et la fonction MkCalendrier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function MkCalendrier(objParent, xml)
    {
       x=xml.getElementsByTagName("jour");
       alert('taille : ' + x.length);
       for (z=0;z<x.length;z++)
       { 
         alert(x[z].childNodes[0].nodeValue);
       }
    }
    et la, pas de problème, ca m'affiche taille : 3, puis 1, puis 2, puis 3.

    Mais, gros fou dans sa tête que je suis, j'ose rajouter une balise semaine dans ma chaine contenant elle même quelques balises jour de plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt_xml_calendar = '<semaine><jour>1</jour><jour>2</jour><jour>3</jour></semaine><semaine><jour>4</jour><jour>5</jour><jour>6</jour></semaine>';
    et là c'est le drame, taille : 0 et rien.

    Suis-je donc si nul que mon XML est faux ? Ou ai-je juste rien compris à quelque chose d'autre ?

    En vous remericant par avance.

  2. #2
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Points : 470
    Points
    470
    Par défaut
    Bon, il semblerait que le null soit lié à un bug de firefox d'apres les dire d'autres forums.
    En tout cas, ça marche comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parser=new DOMParser();				AnalyseXML(parser.parseFromString(xhr_asynchrone.responseText,"text/xml"));
    Pour l'autre problème, il semble qu'un objet root unique soit obligatoire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mon XLS ne traite pas le XML qui est dans du php
    Par Marc22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/05/2010, 09h48
  2. Réponses: 0
    Dernier message: 24/05/2008, 16h36
  3. Talend ne supporte pas mon XML schéma : quel ETL dois-je utiliser ?
    Par Smix007 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 12/03/2008, 15h11
  4. pb de syntaxe XML ne reconnais pas les données ..
    Par lolodelp dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/06/2006, 11h24
  5. [XML/XSL]Le page générée ne correspond pas à mon fichier XSL
    Par JavaEli dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/11/2005, 04h16

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