<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=iso-8859-1"> <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> </body> </html>