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 :

Faire une liaison externe avec un fichier xml


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Points : 99
    Points
    99
    Par défaut Faire une liaison externe avec un fichier xml
    Bonjour, j'ai un problème avec un javascript qui sert a faire fonctionner les xml data island sous firefox, je voudrais pouvoir mettre le xml hors de la page grace a la balise standard <xml id="7777" src="tt.xml"></xml>

    mais le javascript lui ne veut pas et comme je n'y connais rien je trouve pas la solution

    voici le code


    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    <HTML><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/plain; charset=utf-8">
    <title>XML data islands </title>
    <style type="text/css">
    xml {display: none;}
    </style>
    <script language="JavaScript" type="text/JavaScript">
     
    function getTable(identifiant){
    	//Récupère toutes les balises TABLE
    	var balisesTables = document.getElementsByTagName("table");
      for (var i=0; i < balisesTables.length; i++) {
        var table = balisesTables[i];
    		//Pour chaque TABLE trouvée regarde si l'attribut datasrc correspond à l'indentifiant 
        if (table.getAttribute("datasrc") == "#"+identifiant){
          //C'est la bonne TABLE
    			return table;
    		}
      }
    return null;
    }
     
    function getdatafldNom(table){
      var datafldNom = new Array();
    	// Récupère toutes les balises DIV de la table Modèle
      var balisediv = table.getElementsByTagName("div");
    	//Recupère la valeur de l'attribut datafld des balises DIV
    	//Mette cette valeur dans le tableau datafldNom
      for (var i=0; i < balisediv.length; i++) {
        var datafld = balisediv[i].getAttribute("datafld");
          datafldNom[i] = datafld;
      }
      return datafldNom;
    }
    function getXmlValue(identifiant,allDatafldTitre){
    	var valeurs = new Array();
    	//Recupère le XML don lID est égal à identifiant
    	var objXml = document.getElementById(identifiant);
    	//Parcour la structure du XML
      for (var i=0; i < allDatafldTitre.length; i++) {
    		//Recupère la balise ayant comme nom (nom prenom age)
    		var tableValeur =objXml.getElementsByTagName(allDatafldTitre[i]);
    		valeurs[i] = new Array();
    		//Recupère les valeurs des balises de même nom
    		for(var j=0;j<tableValeur.length;j++){
    		 valeurs[i][j] =tableValeur[j].firstChild.nodeValue;
    		}
      }
      return valeurs;
    }
     
    function setTable(montableau,alldatafldTitre,alldatafldValue){
    	//Efface le TR du TABLE
    	montableau.deleteRow(0);
    	//Remplie le tableau avec les valeurs du XML 
      for (var row = 0; row < alldatafldValue[0].length; row++) {
    			//Creation d'une ligne TR
    			var tr = montableau.insertRow(row);
    			for (var col=0; col < alldatafldTitre.length; col++ ) {
    					//Creation d'une cellule TD
    					var td = tr.insertCell(col);
    					//Assignation de la valeur dans la cellule TD
    					td.innerHTML = alldatafldValue[col][row];
    					//Assignation de la cellule TD a la ligne TR
    					tr.appendChild(td);
    			}
      }
    }
     
    function traitexml(){
    if(document.all){
    }else{
    	var montableau = getTable("dmc");
    	var alldatafldTitre = getdatafldNom(montableau);
    	var alldatafldValue = getXmlValue("dmc",alldatafldTitre);
    	setTable(montableau,alldatafldTitre,alldatafldValue);
    }
    }
     
    </script>
    </head>
    <body onload="traitexml()">
    Pour les Utilisateurs de Netscape, FireFox,... Afficher le code source pour voir le code
    <xml id="dmc">
      <donnes>
        <personne>
          <nom>Dmc1</nom>
          <prenom>Alias1</prenom>
          <age>12</age>
        </personne>
        <personne>
          <nom>Dmc</nom>
          <prenom>Alias</prenom>
          <age>120</age>
        </personne>
      </donnes>
    </xml>
    <table  datasrc="#dmc" border="1" id="">
      <tr>
        <td><div datafld="nom"></div></td>
        <td><div datafld="prenom"></div></td>
        <td><div datafld="age"></div></td>
      </tr>
    </table>
    <hr>
     
    <div datasrc="#dmc" datafld="nom"></div>
    <div datasrc="#dmc" datafld="prenom"></div>
    <div datasrc="#dmc" datafld="age"></div>
     
     
    </body>
    </html>
    merci de votre aide

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

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

Discussions similaires

  1. [MySQL] Remplir une table avec un fichier XML
    Par Freedolphin dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 08/02/2012, 10h53
  2. Réponses: 1
    Dernier message: 15/05/2010, 14h37
  3. remplir une BD avec un fichier XML
    Par scaryfan dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 12/05/2009, 20h51
  4. [MySQL] Mettre à jour une table mysql avec un fichier xml ou csv
    Par pasbonte dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/02/2009, 08h56

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