Lire du XML en Javascript avec jQuery
Javascript permet de manipuler le DOM, qui n'est rien d'autre qu'un document XML. On peut aussi utiliser Javascript pour lire des données XML (comme on le fait avec un parser), via l'AJAX.
Un appel Ajax peut retourner différents types de données : texte brut, JSON, HTML ou XML. Le XML retourné par un appel JSON est automatiquement parsé par Javascript, et on y accède via la variable responseXML
:
xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if( xhr.readyState == 4 && xhr.status == 200 ){ doc = xhr.responseXML; nom = doc.getElementsByTagName("nom"); alert("Nom: "+nom); } }
Le document XML se lit exactement comme le DOM de la page web, avec les fonctions getElementsByTagName
, getElementById
ainsi que toutes les autres fonctions de navigation dans l'arborescence.
En théorie il est possible de lire du XML depuis une chaine de caractères, et pas depuis un appel AJAX, en utilisant createDocument
, mais cette technique n'est pas très propre. Javascript n'a pas été conçu dans cet esprit, normalement les données ne doivent pas être mélangées au code et ne doivent pas se retrouver dans une chaine de caractère, pour cela il vaut mieux utiliser un objet JSON.
Allez donc jeter un oeil sur cette page : imprimer le titre du classeur excel.
Lire du XML avec jQuery
On peut utiliser jQuery pour manipuler et parcourir le XML retourné par un appel AJAX, simplement en utilisant un contexte, c'est à dire en passant le document (responseXML) en second paramètre du sélecteur :
xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if( xhr.readyState == 4 && xhr.status == 200 ){ doc = xhr.responseXML; nom = $('nom', doc).text(); // jQuery utilisé pour lire du XML alert("Nom: "+nom); } }
Fini de lire cette page ? allez faire un tour ici : texte jean cousu, ça peut vous intéresser.