Bonjour à tous !
Je galère un peu en ce moment sur du XML. J'ai un fichier personne.xml
Une "classe" xml qui se charge de gérer le chargement du fichier xml qu'on lui passe en paramètre
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 <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <datagrid> <personne> <nom>nom1</nom> <prenom>prenom1</prenom> <date_naissance>date1</date_naissance> </personne> <personne> <nom>nom2</nom> <prenom>prenom2</prenom> <date_naissance>date2</date_naissance> </personne> <personne> <nom>nom3</nom> <prenom>prenom3</prenom> <date_naissance>date3</date_naissance> </personne> <personne> <nom>nom4</nom> <prenom>prenom4</prenom> <date_naissance>date4</date_naissance> </personne> </datagrid>
J'ai une classe qui gère une datagrid mais celle-ci n'en fait qu'à sa tête je m'explique les données me sont retourné de façon étrange une fois ça fonctionne (quand alert est placé avant ma boucle) et un fois non (quand je supprime le alert)
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 function xml(fileXml){ this.docXml = null; this.file=fileXml; //methode loadXML en public this.loadXML = function loadXML(){ if (document.implementation && document.implementation.createDocument) //Firefox this.docXml = document.implementation.createDocument('', '', null); else if (window.ActiveXObject) // I.E de mes ... this.docXml = new ActiveXObject("Microsoft.XMLDOM"); else return null; this.docXml.load(this.file); } this.getXML = function getXML(){ if (this.docXml != null) return this.docXml; } }
Pouvez-vois m'aider car je ne comprend pas !
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 function loadTable() { // chargement du xml avec la class XML var XMLData = new xml(this.xmlpage); XMLData.loadXML(); var personne = XMLData.getXML().getElementsByTagName("personne"); // si ce alert n'est pas là on ne passe pas dans la boucle .... alert(personne.length); for(var i = 0; i < personne.length; i++) { var e = personne[i]; // var name = e.getAttribute("name"); var nom = e.getElementsByTagName("nom")[0].firstChild.data; var prenom = e.getElementsByTagName("prenom")[0].firstChild.data; alert(nom+" "+prenom); } }
Merci d'avance
Partager