Accueil > > > TRANSFORMER UN FLUX XML EN UNE TABLE HTML VIA JAVASCRIPT
TRANSFORMER UN FLUX XML EN UNE TABLE HTML VIA JAVASCRIPT
Information sur la source
Description
Sur le modèle de ma source précédente (qui transforme une matrice JS en TABLE HTML) voici une fonction qui se "nourrit" d'un objet XML pour créer la TABLE! Le flux XML doit être obtenu au préalable: HTTPrequest, Datawebservice, à vous le choix pour obtenir un objet XML au sens javascript qui contient les données à afficher. XMLnode est cet objet. NodeName contient le nom des noeuds "enfants" à récupérer attrName est un tableau (array) des attributs à afficher dans la table, ce tableau remplis également l'entête de la TABLE. Le résultat est un objet TABLE à ajouter dans votre page à l'aide de appendChild (comme ma source précédente donc). La fonction ValeurAttribut permet de récupérer un attribut XML à la fois pour IE et FF.
Source
- // génère un tableau HTML sur la base d'un noeud XML, le nom des noeuds qu'on veut extraire,
- // et la liste des attributs contenant les données
- // XMLnode : objet XML noeud à parcourir
- // NodeName : nom des noeuds à rechercher
- // attrName = array des noms d'attributs à rechercher
- // return : objet table à ajouter (appendChild)
- function CreateTableFromXMl(XMLnode, NodeName, attrName) {
- var elts = XMLnode.getElementsByTagName(NodeName);
- if (!elts) return; // rien si vide
-
- var tbl = document.createElement("TABLE");
- tbl.setAttribute("border", 1);
- var tr = document.createElement("TR");
- var tbody=document.createElement("TBODY");
- var thead=tbl.createTHead();
- var tfoot=tbl.createTFoot();
-
- var n=attrName.length;
- for (var j = 0; j < n; j++) {
- var td = document.createElement("TH");
- td.appendChild(document.createTextNode(attrName[j]));
- tr.appendChild(td);
- }
- thead.appendChild(tr);
-
- m = elts.length;
- for(var i = 1; i < m; i++){
- var tr = document.createElement("TR");
- for(var j = 0; j < n ;j++){
- var td=document.createElement("TD");
- td.appendChild(document.createTextNode(ValeurAttribut(elts[i], attrName[j])));
- tr.appendChild(td);
- }
- tbody.appendChild(tr);
- }
-
- tbl.appendChild(thead);
- tbl.appendChild(tfoot);
- tbl.appendChild(tbody);
- return tbl;
- }
-
- function ValeurAttribut(noeud, attribut) {
- if (!noeud) return "";
- if ((!attribut) || (attribut=="")) return "";
- if (noeud.getAttribute(attribut)) return noeud.getAttribute(attribut);
- if (noeud.attributes[attribut]) return noeud.attributes[attribut].value;
- return "";
- }
-
// génère un tableau HTML sur la base d'un noeud XML, le nom des noeuds qu'on veut extraire,
// et la liste des attributs contenant les données
// XMLnode : objet XML noeud à parcourir
// NodeName : nom des noeuds à rechercher
// attrName = array des noms d'attributs à rechercher
// return : objet table à ajouter (appendChild)
function CreateTableFromXMl(XMLnode, NodeName, attrName) {
var elts = XMLnode.getElementsByTagName(NodeName);
if (!elts) return; // rien si vide
var tbl = document.createElement("TABLE");
tbl.setAttribute("border", 1);
var tr = document.createElement("TR");
var tbody=document.createElement("TBODY");
var thead=tbl.createTHead();
var tfoot=tbl.createTFoot();
var n=attrName.length;
for (var j = 0; j < n; j++) {
var td = document.createElement("TH");
td.appendChild(document.createTextNode(attrName[j]));
tr.appendChild(td);
}
thead.appendChild(tr);
m = elts.length;
for(var i = 1; i < m; i++){
var tr = document.createElement("TR");
for(var j = 0; j < n ;j++){
var td=document.createElement("TD");
td.appendChild(document.createTextNode(ValeurAttribut(elts[i], attrName[j])));
tr.appendChild(td);
}
tbody.appendChild(tr);
}
tbl.appendChild(thead);
tbl.appendChild(tfoot);
tbl.appendChild(tbody);
return tbl;
}
function ValeurAttribut(noeud, attribut) {
if (!noeud) return "";
if ((!attribut) || (attribut=="")) return "";
if (noeud.getAttribute(attribut)) return noeud.getAttribute(attribut);
if (noeud.attributes[attribut]) return noeud.attributes[attribut].value;
return "";
}
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
stocker objet javascript dans noeud DOM [ par Guillemouze ]
salut a tous.J'ai plusieurs solutions possibles a mon problème, mais je ne sais pas si elles sont faisables en javascript.Alors voila l'histoire : j'a
Vérifier si une date comprise entre deux autres [ par enibib ]
Bonjour voici mon problème je voudrais saisir une date dans une zone de texte html et la comparer à deux autres dates récupéré sur ma table mysql pour
Javascript pour gadget windows [ par alcapone29 ]
Bonjour tout le monde,Voila j'ai quelques soucis avec un code Javascript pour mon gadget windows, donc je vous donne un peu le topo :- Dans un formula
widget+xml [ par pandouta08 ]
bonjour j'ai un fichier xml généré avec un code php à partir d'une base de donnée .je voudrais savoir comment je peux charger dans le widget ce fichie
extraire donnée d'un fichier XML et Google AJAX APIs [ par zamubudio ]
Hello, Je debute en prog HTML et j'essaye d'afficher les données contenues dans un fichier XML, en utilisant les fonctions déja creer par Google AJAX
XML probleme de lien... [ par SHIBALBAH ]
Bonjour à tous,(je précise que je suis novice dans la création de site, j'utilise le logiciel flash)J'ai crée un menu en flash pour un site développé
Inserer table de poker sur une page html ?? [ par jeje1234 ]
Bonjour, je voudrai savoir si il est possible d'insérer sur une page html une table de poker sur laquelle il serai possible de jouer avec mes copain ?
récuperer les données d'un fichier XML dans une zone de saisie [ par fabricioliking ]
bonjoursVoila j'ai besoin d'un tout petit coup de patte, je récupére les données d'un fichier xml, j'arrive à les afficher par le bied d' "alert" mais
remplir mon fichier xml pour ensuite l'afficher dans mon formulaire [ par fabricioliking ]
Re bonjour, me revoila encore pour mes petites contines en ajax. Voila j'arrive via mon code à afficher par le bied d'un alert le contenue d'un fichie
Récupérer plusieurs lignes qui ont le même nom en JS à partir d'un fichier XML [ par mastertom ]
Bonjour,Je génère un fichier xml grâce à un fichier php : </s
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|