OVH Cloud OVH Cloud

[XML] Comment accéder à un noeud enfant en Javascript ?

2 réponses
Avatar
Mr Prout !
Hello !

J'ai un XML qui se présente ainsi :
----------------
<retour>
<intervention>
<id>1</id>
<date>2006-12-22</date>
<duree>50</duree>
</intervention>
<intervention>
<id>2</id>
<date>2006-12-25</date>
<duree>120</duree>
</intervention>
</retour>
----------------

Ce fichier est généré avec PHP, et je souhaiterais récupérer les valeur
des noeuds enfants (id, date, intervention), mais là je bloque !

J'ai quand même trouvé un code qui fonctionne, mais je crains que
celui-ci ne fonctionne pas sur tous les navigateurs, ou qu'il soit pas
très propre, le voici :

----------------
// (Ce code vient quand mon XML est chargé, après ma requête AJAX)
var docXML= xhr.responseXML;
var items = docXML.getElementsByTagName("intervention");

// Je fais une boucle sur chaque élément "intervention" trouvé
for (i=0; i<items.length; i++) {
alert(items[i].getElementsByTagName('date')[0].firstChild.nodeValue);
}
----------------

Donc ce code fonctionne bien, j'accède correctement à la valeur de mes
noeuds enfants, mais est-ce réellement la bonne solution ? Y a-t-il un
moyen plus propre et surtout qui fonctionne sur tous les navigateurs ?

Merci pour vos précisions ;-)

2 réponses

Avatar
pere.noel
Mr Prout ! wrote:

----------------
<retour>
<intervention>
<id>1</id>
<date>2006-12-22</date>
<duree>50</duree>
</intervention>
<intervention>
<id>2</id>
<date>2006-12-25</date>
<duree>120</duree>
</intervention>
</retour>
----------------

Ce fichier est généré avec PHP, et je souhaiterais récupérer les valeur
des noeuds enfants (id, date, intervention), mais là je bloque !


ok mais sous quelle forme ?

pour une présentation html ?

si oui, passez par une transfo xslt j'ai deux exemples :

<www.yvon-thoraval.com/JS/xslt> ex simple

avec une feuille un tout petit peu plus complexe :

<www.yvon-thoraval.com/Canvas/menu.html>

là un screenshot montrant ce que vous devriez obtenir :

<www.yvon-thoraval.com/Canvas/menu.png>
--
Père Noël

Avatar
Mr Prout !
Père Noël nous a pondu :
Mr Prout ! wrote:

----------------
<retour>
<intervention>
<id>1</id>
<date>2006-12-22</date>
<duree>50</duree>
</intervention>
<intervention>
<id>2</id>
<date>2006-12-25</date>
<duree>120</duree>
</intervention>
</retour>
----------------

Ce fichier est généré avec PHP, et je souhaiterais récupérer les valeur
des noeuds enfants (id, date, intervention), mais là je bloque !


ok mais sous quelle forme ?

pour une présentation html ?




OK, merci pour ta réponse, je vais voir cela d'un peu plus prêt...