Analyseur XML
- Page précédente XMLHttpRequest
- Page suivante DOM XML
Tous les navigateurs populaires ont un analyseur XML intégré, utilisé pour accéder et manipuler XML.
L'analyseur convertit l'XML en objet DOM XML - des objets manipulables par JavaScript.
Analyseur XML
XML DOM (modèle d'objet de document)Des propriétés et des méthodes définies pour accéder et éditer l'XML.
Cependant, avant d'accéder au document XML, il doit être chargé dans un objet DOM XML.
Tous les navigateurs modernes fournissent un analyseur XML intégré qui peut convertir un texte en objet DOM XML.
Analyser une chaîne de caractères
Cet exemple convertit une chaîne de caractères en objet DOM XML et utilise JavaScript pour extraire des informations à partir de celui-ci :
exemple
<html> <body> <p id="demo"></p> <script> var text, parser, xmlDoc; text = "<bookstore><book>" + "<title>雅舍谈吃</title>" + "<author>梁实秋</author>" + "<year>2013</year>" + "</book></bookstore>"; parser = new DOMParser(); xmlDoc = parser.parseFromString(text,"text/xml"); document.getElementById("demo").innerHTML = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; </script> </body> </html>
Explication de l'exemple
Définir une chaîne de caractères :
text = "<bookstore><book>" + "<title>雅舍谈吃</title>" + "<author>梁实秋</author>" + "<year>2013</year>" + "</book></bookstore>";
Créer un analyseur DOM XML :
parser = new DOMParser();
L'analyseur utilise cette chaîne de caractères pour créer un nouveau objet DOM XML :
xmlDoc = parser.parseFromString(text,"text/xml");
objet XMLHttpRequest
objet XMLHttpRequestfournit un analyseur XML intégré.
responseText
propriété pour renvoyer la réponse sous forme de chaîne de caractères.
responseXML
propriété pour renvoyer la réponse sous forme d'objet DOM XML.
Si vous souhaitez utiliser la réponse comme objet DOM XML, vous pouvez utiliser responseXML
propriétés.
exemple
demande de fichier cd_catalog.xml,et l'utilise comme objet DOM XML :
xmlDoc = xmlhttp.responseXML; txt = ""; x = xmlDoc.getElementsByTagName("ARTIST"); for (i = 0; i < x.length; i++) { txt += x[i].childNodes[0].nodeValue + "<br>"; {} document.getElementById("demo").innerHTML = txt;
- Page précédente XMLHttpRequest
- Page suivante DOM XML