Je reçois des données XML d'un serveur... mais je ne connais pas à l'avance son contenu.
Par exemple :
Voici comment je procède :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <variables> <variable> <name>name_of_variable</name> <type>type_of_variable</type> <value>type_of_variable</value> </variable> <variable> ... </variable> ... </variables>
Et ca marche... maintenant cela m'arrangerait que les données reçus soit modifiées avec cette syntaxe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //je vérifie si le noeud 'variables' existent if (xmldoc.getElementsByTagName('variables').length > 0) { //je stocke le nombre de noeuds 'variable' var variable_nodes = xmldoc.getElementsByTagName('variable'); for (i = 0; i < variable_nodes.length; i++) { var name_node = variable_nodes[i].getElementsByTagName("name"); ... } }
Donc ne plus avoir le noeud 'variables'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <variable> <name>name_of_variable</name> <type>type_of_variable</type> <value>type_of_variable</value> </variable> <variable> ... </variable> ...
J'ai repris le même code qu'avant: je regarde si un noeud variable existe. Si oui je compte combien il y en a. Ensuite je boucle dessus... ca marche s'il y a seulement un noeud 'variable'... mais pas plus, ce qui me fait penser donc qu'il ne trouve pas le nombre de noeud...
Comment faire ? Est-ce je suis obligé d'englober les noeuds variable dans un noeud variables ? Plus précisément, pourquoi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //je vérifie si le noeud 'variable' existent if (xmldoc.getElementsByTagName('variable').length > 0) { //je stocke le nombre de noeuds 'variable' var variable_nodes = xmldoc.getElementsByTagName('variable'); for (i = 0; i < variable_nodes.length; i++) { var name_node = variable_nodes[i].getElementsByTagName("name"); ... } }
dans le premier cas me retourne la collection de noeud variable... mais pas dans le deuxième cas ? Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part var variable_nodes = xmldoc.getElementsByTagName('variable');
Partager