Fonction de chargement DOM
XML DOM Fonction de chargement
Le code de chargement d'un document XML peut être stocké dans une fonction.
Fonction loadXMLDoc()
Pour rendre le code de la page précédente plus facile à maintenir (vérifiez les anciens navigateurs), il doit être écrit sous forme de fonction :
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp =new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
La fonction ci-dessus peut être stockée dans la section <head> d'une page HTML et appelée à partir d'un script dans la page.
Les fonctions décrites ci-dessus sont utilisées pour toutes les instances de documents XML dans ce tutoriel !
JavaScript externe pour loadXMLDoc()
Pour faciliter la maintenance du code ci-dessus et garantir que le même code est utilisé dans toutes les pages, nous stockons la fonction dans un fichier externe dans le dossier.
Le nom du fichier est "loadxmldoc.js" et est chargé dans la section d'en-tête de la page HTML. Le script de la page appelle ensuite la fonction loadXMLDoc().
L'exemple suivant utilise la fonction loadXMLDoc() pour charger books.xml :
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + "<br>"); document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue + "<br>"); document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Comment obtenir des données à partir de fichiers XML sera expliqué dans le chapitre suivant.
Fonction loadXMLString()
Pour rendre le code de la page précédente plus facile à maintenir (vérifier sur les anciens navigateurs), il doit être écrit sous forme de fonction :
{
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/ xml" );
>
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML (txt );
>
return xmlDoc;
>
La fonction ci-dessus peut être stockée dans la section <head> la page.
La fonction décrite ci-dessus est utilisée pour toutes les instances de chaîne XML dans ce tutoriel !
JavaScript externe pour loadXMLString()
Nous avons stocké la fonction loadXMLString() dans un fichier appelé "loadxmlstring.js".
Instance
<!DOCTYPE html> <html> <head> <script src="loadxmlstring.js"></script> </head> <body> <script> text="<bookstore><book>"; text=text+"<title>Everyday Italian</title>"; text=text+"<author>Giada De Laurentiis</author>"; text=text+"<year>2005</year>"; text=text+"</book></bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue); document.write("<br>"); document.write(xmlDoc.getElementsByTagName("author")[0].childNodes[0].nodeValue); document.write("<br>"); document.write(xmlDoc.getElementsByTagName("year")[0].childNodes[0].nodeValue); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne