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
VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo SQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLRSQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLR par christian
Dans certains cas très particuliers il peut être intéressant de savoir le nombre de ligne que va renvoyer une requête sans exécuter cette dernière. En effet les opérations de comptage sont généralement gourmande en ressource est très difficile à optim...
Cliquez pour lire la suite de l'article par christian [WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF![WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF! par JeremyJeanson
Le code suivant est destiné à répondre à une problématique courante en Workflow : Vous avez une activité dont le designer est complexe ou dont l'affichage prend une place importante à l'écran et la possibilité Collapse/Expand ne répond pas pleinement à vo...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|