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 :

Communiquer correctement avec un XML


Sujet :

JavaScript

  1. #1
    Membre confirm� Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Par d�faut Communiquer correctement avec un XML
    Bonjour � tous et toutes,
    Vous allez bien?
    J'ai un petit soucis avec la recherche dans un doc XML, un b�te classement, je connais le nombre de n�uds qui se trouve dans mon XML (10 places)
    Seulement j'ai l'impression qu'il y a un soucis avec l'extraction des infos stock�es: Mon code js

    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
    $(document).ready(function(){
        lireClassement();
    });
     
    function chargerXML(){
     
        // Routine de vérification si le navigateur gêre la méthode utilisée
        if (document.implementation && document.implementation.createDocument)
        {
            xmlDoc = document.implementation.createDocument("", "", null);
     
        }
        else if (window.ActiveXObject)
        {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
         }
        else
        {
            alert('Non compatible');
            return;
        }
        xmlDoc.load("Xml/Classement.xml");
     
        return xmlDoc;
    }
     
    function lireClassement(){
        var docXml = chargerXML();
        var tabNom = docXml.getElementsByTagName('nom');
        var tabPrenom = docXml.getElementsByTagName('prenom');
        var tabTemps = docXml.getElementsByTagName('scoreTemps');
        var tabPoints = docXml.getElementsByTagName('scorePoints');
     
        for( i = 0 ; i<10 ; i++)
        {
            var nom = tabNom[i].firstChild.nodeValue;
            var prenom = tabPrenom[i].firstChild.nodeValue;
            var temps = tabTemps[i].firstChild.nodeValue;
            var points = tabPoints[i].firstChild.nodeValue;
            if(nom=="" && prenom=="")
            {
                var n = i+1;
                alert("Place"+n+" est vide.");
            }
            else
            {
                alert ("Nom: "+nom+" Prenom: "+prenom+" Temps: "+temps+" Score: "+points);
            }
        }
    }
    Merci d'avance pour votre aide.

  2. #2
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Salut,

    je vois que tu utilises jQuery, et que tu utilises un fichier xml de ton propre serveur. Pourquoi ne pas utiliser $.get() ?

    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var $xml;
    $.get('Xml/Classement.xml', {}, function( data, status, broker ) {
    	$xml = broker.responseXML;
    });

    Sinon, pour r�pondre � ta question, il faudrait qu'on voie le XML concern�.

    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  3. #3
    Membre confirm� Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Par d�faut
    Merci pour ta suggestion, je vais me doc sur cette m�thode.
    Voici comment est d�fini mon 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
    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
    62
    63
    <?xml version="1.0" encoding="ISO-8859-1"?>  
    <Classement>
    	<premier>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>
    	</premier>
    	<deuxieme>
    		<nom></nom>
    		<prenom></prenom>		
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>
    	</deuxieme>
    	<troisieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>
    	</troisieme>
    	<quatrieme>
    		<nom></nom>
    		<prenom></prenom>		
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>
    	</quatrieme>
    	<cinquieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>		
    	</cinquieme>
    	<sixieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>
    	</sixieme>
    	<septieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>		
    	</septieme>
    	<huitieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>		
    	</huitieme>
    	<neuvieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>		
    	</neuvieme>
    	<dixieme>
    		<nom></nom>
    		<prenom></prenom>
    		<scoreTemps></scoreTemps>
    		<scorePoint></scorePoint>		
    	</dixieme>
    </Classement>
    Pour le moment il est vide, j'esp�re pouvoir �crire dans le fichier pour le mettre � jour suite � un petit jeu de calculs avec temps et points.

  4. #4
    Membre confirm� Avatar de arkham55
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    179
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 179
    Par d�faut
    Merci beaucoup en tout cas, �a m'a bien aid�!
    J'utilise la fonction ajax de JQuery, qui est bien adapt�e � ce que je voulais faire, pour l'�criture dans le XML par contre ce sera plus d�licat.

    Ma solution avec mon fichier 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
    $.ajax({
            type: "GET",
    		url: "Xml/Classement2.xml",
    		dataType: "xml",
    		success: function(docXml) {
    			$(docXml).find('Classement').each(function(){
    				$(this).find('premier').each(function(){
    					var nom = $(this).find('nom').text();
    					var prenom = $(this).find('prenom').text();
    					var temps = $(this).find('scoreTemps').text();
    					var points = $(this).find('scorePoints').text();
    					alert(nom+prenom+temps+points);
     
    				});
     
    			});
    		}
    	});
    L� il n'affiche que le contenu du n�ud 'premier', le mieux est quand m�me de renommer les n�uds dans le xml par "position" simplement, la m�thode 'each' �tant plus pratique:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    $(this).find('position').each(function(){
        ...
     
    });
    Write less, do more. ^^

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. erreur http 404 ressource non disponible avec web.xml correctement configur�
    Par <yassou> dans le forum D�veloppement Web en Java
    R�ponses: 0
    Dernier message: 12/06/2015, 10h32
  2. [xslt] For-each dans template avec format XML (row)
    Par Steff1985 dans le forum XSL/XSLT/XPATH
    R�ponses: 2
    Dernier message: 17/11/2005, 11h14
  3. [Tomcat] Probl�me avec web.xml
    Par hichamus dans le forum Eclipse Java
    R�ponses: 2
    Dernier message: 01/03/2005, 16h57
  4. Netbeans 4.0 + jar avec Build.xml
    Par sbibi dans le forum NetBeans
    R�ponses: 2
    Dernier message: 02/02/2005, 12h25
  5. Documentation sur la mani�re de travailler avec le XML en java
    Par DelPiero62 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 8
    Dernier message: 26/03/2003, 09h16

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