Bonjour,
J'ai un petit problème avec l'utilisation du DOM en javascript
Je viens de loader un fichier XML (en js) et lorsque j'essaye de le lire il m'affiche une erreur
Mon code js :
Le fichier XML (J'avais mit au début une déclaration et le DTD que j'ai fait mais je l'ai enlever de peur que ca pose problème lors du chargement du fichier XML) :
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
25
26
27
28
29
30
31
32
33
34 function INIT() {}; var xmlDoc; INIT.importDesign = function() { if (document.implementation && document.implementation.createDocument) { xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.onload = INIT.createDesign(); } else if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.onreadystatechange = function () { if (xmlDoc.readyState == 4) { INIT.createDesign(); } }; } else { alert('Your browser can\'t handle this script'); return; } xmlDoc.load("fenetre.xml"); } INIT.createDesign = function() { var x = xmlDoc.getElementsByTagName('fenetre')[0]; alert(x.childNodes.length); // l'erreur vient d'ici } window.onload = INIT.importDesign;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <fenetre gridx="3" gridy="5"> <case gx="1" gy="1">Peche</case> <case gx="2" gy="1">Poire</case> <case gx="3" gy="1">Pomme</case> <case gx="1" gy="2" gh="4">Prune</case> <case gx="2" gy="2">Fraise</case> <case gx="3" gy="2">Cerise</case> <case gx="2" gy="3" gw="2" gh="3">Ananas</case> </fenetre>
Donc l'erreur vient de lorsque j'essaye d'afficher le nombre de "case" dans le "fenetre".
Il me dit : 'x has no properties'
J'ai essayé toute les possibilité et lorsque je fait alert(x.length); en enlevant le [0] de la ligne au dessus, il m'affiche qu'il y a zéro "fenetre".
Donc je sais pas si cela vient d'un problème lors du load du fichier xml ou bien une mauvaise manipulation.
Je veux juste pouvoir manipuler mon fichier xml donc si vous savez m'aider.
Merci d'avance
Partager