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 :

[JAVASCRIPT - XML] parser sous IE


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut [JAVASCRIPT - XML] parser sous IE
    Bonjour à tous,
    Je développe actuellement une application web dans laquelle j'envoie des données XML qu'il me faut parser ensuite. Pour Firefox, pas de soucis, sauf qu'au boulot, tout le monde bosse avec IE... Galère.
    Mon problème c'est que j'ai une chaîne de caractère qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <response>
    <newSelect id="customersSelect">
    <![CDATA[ <select id="customersSelect" style="width:320px;text-align:left;" name="customersSelect" onchange='updateSelect(this.value, "customersSelect")'><option value="null">All</option><option value="20">Man Nutzfahrzeuge Österreich AG</option><option value="31">Man Nutzfahrzeuge Österreich AG - Dachau</option><option value="43">Man Nutzfahrzeuge Österreich AG - Wien</option><option value="58">Man Nutzfahrzeuge Österreich AG - Dachau</option></select> ]]>
    </newSelect>
    <newSelect id="groupsSelect">
    <![CDATA[ <select id="groupsSelect" style="width:320px;text-align:left;" name="groupsSelect" onchange='updateSelect(this.value, "groupsSelect")'><option value="null">All</option><option value="1"></option><option value="2" selected="selected">MAN</option></select> ]]>
    </newSelect>
    </response>

    et que lorsque j'essaie de la parser sous IE avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xmlDocument=new ActiveXObject("Microsoft.XMLDOM");
    xmlDocument.async="false";
    xmlDocument.loadXML(xmlResponse);

    Ca ne marche pô !
    Ma question est donc : qu'est-ce qui ne marche pas ??? Je me creuse la tête depuis pas mal de temps mais je ne vois pas du tout, donc si quelqu'un a une idée je suis preneur.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci pour la rapidité, mais j'avais déjà lu ce post et essayé de procéder presque de la même manière chez moi (mon xml est une chaîne provenant d'une requête AJAX soumise en POST) sans succès.
    Lorsque je développe l'arborescence sous Firefox il n'y a pas de problème mais quand j'essaie de la développer sous IE je n'obtient rien (l'objet xmlDocument obtenu après le loadXML vaut null).

    Cela peut-il provenir des sections CDATA ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    jquery me parait pourtant assez bein armé pour gérer le xml:
    http://api.jquery.com/category/manipulation/

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Oui mais cela suppose récupérer un fichier xml alors que la réponse renvoyée par mon POST est une chaîne que je souhaite parser.

    En fait j'effectue cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $.ajax({
    			type: "POST",
    			url: "home.php",
    			data: 	"updateSelect=true"+
    					"&type="+type+
    					"&id="+id,
    			success: function(xmlResponse){
                                // J'essaie de parser la réponse ici
                            }


    Je pourrai effectivement passer par 2 requêtes AJAX (l'une en POST pour écrire un fichier puis l'autre en GET pour le récupérer) mais cela me semble lourd non ?

    Edit : lorsque je travaille sur la chaîne xmlResponse reçue j'arrive bien à naviguer à l'intérieur avec each et find mais uniquement sur firefox

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le fichier retourner par home n'est pas au bon format ...

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    En fait le format était le bon (une chaîne que je parse avec un objet activeX Microsoft.XMLDOM ou un DOMParser selon le navigateur) mais certains caractères (par ex : un Ö) faisaient systématiquement planter le parseur sous IE.
    J'ai donc utilisé utf8-encode lors de la création de la chaine pour y remédier.
    Quoiqu'il en soit merci pour l'aide apportée

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ben non le format n'est pas bon ...

    un header php utf-8 eut fait l'affaire je pense là tu retournerait un fichier utf-8 du coup plus de souci de caractères exotiques

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Une question me frappe, qu'entends-tu par format ?

    (j'ai honte de demander ça)

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le format d'un fichier engloble son extension son type mime et son charset

    tu peux en php indiquer un header charset, un type mime

    mais le fichier lui même doit etre au format utf-8 (dans notePad++ >Encodage)

  11. #11
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ok, effectivement ce n'était pas le même format (j'étais en ISO-8859-1).
    Du coup je vais tout passer en UTF-8 parce que les caractères allemand ça arrange pas les choses
    Bon je vais aller embêter les collègues de PHP maintenant
    Merci encore

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

Discussions similaires

  1. [RegExp] javascript xml text parser
    Par scavenger dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/11/2013, 12h42
  2. Servlet générant xml à parser en javascript
    Par KRis dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/06/2011, 21h31
  3. [JAXP] com.sun.xml.parser.ValidatingParser
    Par yolepro dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 05/11/2008, 15h36
  4. Les sessions en javascript; XML sous FF; Aide pour un projet
    Par FremyCompany dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/05/2006, 17h59
  5. [XML] Parser selon des noeuds enfants
    Par GLDavid dans le forum Modules
    Réponses: 5
    Dernier message: 20/08/2004, 20h42

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