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 :

[AJAX] Récupération donnée XML


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Points : 183
    Points
    183
    Par défaut [AJAX] Récupération donnée XML
    Bonjour,

    J'ai un problème pour lire mon fichier XML...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var docXML= xhr.responseXML;
    var res = docXML.getElementsByTagName("resume");
    alert(res.length);
    Le 'alert' m'affiche 0...

    Alors que le fichier XML créé est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <page> 
    <resume> 
    <date>26/02/2008</date> 
    <nom>Les plantes à jardinière</nom> 
    <lien>index.php?option=com_veille&task=resume&theme=0&soustheme=0&motclef=a b c d e&type_recherche=1
    &ou_recherche=titreetcontenu&tri=date&id=6</lien> 
    </resume> 
    <resume> 
    <date>24/02/2006</date> 
    <nom>Les tendances pour l'année 2007</nom> 
    <lien>index.php?option=com_veille&task=resume&theme=0&soustheme=0&motclef=a b c d e&type_recherche=1
    &ou_recherche=titreetcontenu&tri=date&id=11</lien> 
    </resume> 
    </page>
    J'ai bien mis le content-type text/xml...

    Je ne comprend pas pourquoi ca ne fonctionne pas puisque j'ai déja fait ce genre de chose et ca marchait tres bien...

    Si vous avez une idée...

    Merci !

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    tu as vérifié que xhr.responseXML contenait bien la réponse attendue ?

    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Points : 183
    Points
    183
    Par défaut
    Je viens de le faire et je vois que non, la response n'est pas correcte... beaucoup de "parsererror" et de "Erreur d'analyse XML : mal formé"

    Ca me l'avais déjà fait dans un autre cas, et on m'avais dis sur ce forum d'enlever la ligne <?xml version="1.0"?> mais la je ne l'ai pas mis et le problème est la quand meme.. donc si vous avez une autre solution...

    Voila comment je forme mon xml... si ca peut vous aidez... mais dans Firebug je vois le fichier xml de retour et il "parait" bien formé (il y a bien mes données dedans). Ca doit etre un problème qui ressemble a celui de la dernière fois... mais lequel ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $resultat = " <page> ";
    for($i=0,$n=count($rows_res);$i<$n;$i++){
    		$row_res = $rows_res[$i];
    		$resultat .= "\n<resume> ";
    		$resultat .= "\n<date>".strftime("%d/%m/%Y", strtotime($row_res->date_resume))."</date> ";
    		$resultat .= "\n<nom>".$row_res->nom_resume."</nom> ";
    		$resultat .= "\n<lien>index.php?option=com_veille&task=resume&theme=".$id_theme."&soustheme=".$id_soustheme."&motclef=".$motclef."&type_recherche=".$type_recherche."&ou_recherche=".$ou_recherche."&tri=".$tri."&id=".$row_res->id_resume."</lien> ";
    		$resultat .= "\n</resume> ";
    	}
    $resultat .= "\n</page>";
     
    header('Content-Type: text/xml; charset=iso-8859-1');
    header("Cache-Control: no-cache"); 
    exit($resultat);

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Points : 183
    Points
    183
    Par défaut
    Après avoir trifouillé, je me rend compte que quand j'enlève la balise "lien" mon application fonctionne correctement...

    Y a t-il des caractères qu'il n'aime pas dans la ligne qui indique le lien ? Apparemment ça doit être ça... ou alors la ligne est trop longue mais je ne pense pas...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 235
    Points : 183
    Points
    183
    Par défaut
    C'est bon j'ai fini par trouver ce qui posait problème, ce sont les "&". Le xml ne les accepte entre des balises normales. Je les ai donc remplacé par leur code décimal, c'est a dire &#38;

    Voila !

    Ciao !

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

Discussions similaires

  1. Récupération données XML
    Par pleasewait dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 27/02/2009, 18h53
  2. [WD12] Récupération données XML
    Par stounouslous dans le forum WinDev
    Réponses: 3
    Dernier message: 12/12/2008, 11h13
  3. [AJAX] récupération data xml depuis AJAX
    Par jpclutier dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/05/2008, 14h13
  4. [SimpleXML] Récupération des données XML
    Par squalito dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/05/2006, 14h22
  5. Réponses: 1
    Dernier message: 14/09/2005, 11h01

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