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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|