Analyseur 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>

Essayez-le vous-même

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;

Essayez-le vous-même