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 :

Parser un XML en JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Parser un XML en JS
    Bonjour à tous,

    j'ai un petit souci au niveau de mon parser XML.
    Probleme : il ne trouve aucune info si les valeurs des tags <value ..></value> sont vides.
    Alors que si je mets un simple "espace" entre les balises, tout fonctionne correctement.

    Quelqu'un pourrait-il m'aider ?

    Merci

    EDIT : tagValeur = "value".

    ---


    XML

    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
     
    <?xml version="1.0" encoding="utf-8" ?>
    <ResourceStrings>
     <!-- Host -->
      <ResourceString key="Blab">
        <value lang="nl"></value>
        <value lang="fr"></value>
      </ResourceString>
      <ResourceString key="Blib">
        <value lang="nl"></value>
        <value lang="fr"></value>
      </ResourceString>
      <ResourceString key="Blob">
        <value lang="nl">/chocolat</value>
        <value lang="fr">/vanille</value>
      </ResourceString>
     
    ...
     
     
    </ResourceStrings>


    Fonction

    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
    60
    61
     
     
    // Env
    var urlDeb = "http://www.google.be" // necessaire pour la génération des URL
    var urlResultat = "ressources/resultat.txt" // loc du fichier résultat
     
     
    // Charge le fichier XML
    function loadXMLDoc(dname) {
    	// Source : http://www.w3schools.com
    	if (window.XMLHttpRequest) {
    		xhttp=new XMLHttpRequest();
    	} else {
    		xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	xhttp.open("GET",dname,false);
    	xhttp.send();
    	return xhttp.responseXML;
    } 
     
     
     
     
    function go() {
    	// RECUP XML
    	var xmlDoc = loadXMLDoc("monXML.xml");
     
    	// RECUP DATA
    	var result = [];
    	var x = xmlDoc.getElementsByTagName("value");
     
    	// SELECTIONNE LES LIENS
    	for (var i = 0; i < x.length; i++) {
    		var reg = new RegExp("aspx$");
    		var url = "" + urlDeb + x[i].childNodes[0].nodeValue;
    		if (reg.test(x[i].childNodes[0].nodeValue)) {
    			// Test les liens
    			// if (testerLien(url, false) == pageErreur){
    				result.push(url);
    			//}
    		}
    	}
     
    	// LISTE RESULTAT
    	var aAfficher = "";
    	for (var i in result){
    		if (result.hasOwnProperty(i)){
    			aAfficher += ++i + ". " + result[i] + "\n";
    		}
    	}
    	document.getElementById("resultatArea").innerHTML = aAfficher;
    	document.getElementById("download").innerHTML = "Telecharger <a href=" + urlResultat + ">ICI</a>";
     
     
    	return;
    }
     
    window.onload = function(){
       document.getElementById("uploadSubmit").onclick = go;
       return;
    };
    Dernière modification par Invité ; 11/07/2012 à 11h29.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ben a mon avis c'est un souci de confusion avec le .value de javascript

    tu peux les renommer ? en <valeur>par exemple ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu peux les renommer ? en <valeur>par exemple ?
    Ca ne semble pas résoudre le problème.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    ha !! ben parce que tu n'est pas sur des nodeValue
    tes balises sont vides !
    tu es sur des attributs de balises
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je ne suis pas certain de comprendre... ?

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    ben a mon avis c'est un souci de confusion avec le .value de javascript

    tu peux les renommer ? en <valeur>par exemple ?
    Tu te trompe.
    D'ailleurs on peut utiliser les mots réservés comme noms attributs, tout comme n'importe quel caractère peut etre utilisé dans un nom d'attribut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    obj = {};
    obj['class'] = "un truc";
    obj['for'] = 'ouais un for';
    obj['if'] = 'et oui if aussi';
    obj['NaN']=  'pareil';

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Bonsoir,
    Citation Envoyé par dukej
    D'ailleurs on peut utiliser les mots réservés comme noms attributs, tout comme n'importe quel caractère peut etre utilisé dans un nom d'attribut
    certes comme tu le fais, entre quotte, il ne s'agit plus de nom d'attribut, c'est d'ailleurs pour cela qu'il est préférable de mettre des quottes.

    Essaies donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    obj[for] = 'ouais un for';

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Notlolo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x[i].childNodes[0].nodeValue;
    Attention, si tes <value> sont vides, alors ils n'ont pas de childNode, et donc childNodes[0] n'existe pas et ça va provoquer une erreur.

    Tu devrais plutôt faire :

    Qui renverra une chaîne vide si <value> est vide, ou bien le texte contenu si <value> n'est pas vide.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Tu devrais plutôt faire :

    Ca marque nickel
    Un merci !
    Dernière modification par Bovino ; 11/07/2012 à 15h22. Motif: Merci de cliquer sur le bouton :resolu: si le problème est réglé !

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

Discussions similaires

  1. [C#] Parser du XML
    Par karl3i dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/02/2009, 09h46
  2. [DOM] Parser un XML
    Par Zapan dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 02/12/2005, 11h41
  3. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/10/2005, 15h52
  4. [FLASH MX2004] Parser un XML en action script
    Par jejeman dans le forum Flash
    Réponses: 6
    Dernier message: 20/09/2005, 17h25
  5. [XSL] Parser fichier xml : erreurs + incompréhensions
    Par totobouchon dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 19/07/2005, 15h47

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