XML-E4X
E4X ajoute la prise en charge directe de XML à JavaScript.
Exemple
<html><!DOCTYPE html> <html> <body> <p>This example works in Firefox only.</p> <script> var employees= <employees> <person> <name>Tove</name> <age>32</age> </person> <person> <name>Jani</name> <age>26</age> </person> </employees>; document.write(employees.person.(name == "Tove").age); </script> </body> </html>
Cet exemple ne fonctionne que sur Firefox !
Exécuter l'instance»Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
XML en tant qu'objet JavaScript
E4X est une norme JavaScript formelle qui ajoute une prise en charge directe de XML.
En utilisant E4X, vous pouvez déclarer des variables d'objet XML de la même manière que vous déclarez des variables d'objet Date ou Array :
var y = new Date()
var z = new Array()
E4X est un standard ECMAScript (JavaScript)
ECMAScript Est le nom officiel de JavaScript. ECMA-262 (JavaScript 1.3) a été standardisé en décembre 1999.
E4X est une extension JavaScript qui ajoute la prise en charge directe de XML. ECMA-357 (E4X) a été standardisé en juin 2004.
L'organisation ECMA (fondée en 1961), se consacre à la normalisation des technologies de l'information et de la communication (TIC) et de l'électronique grand public (CE). Les standards fixés par l'ECMA sont :
JavaScript
Langage C#
Jeu de caractères international
Disque
Bande
Compression de données
Communication de données
etc...
Ne pas utiliser E4X
L'exemple ci-dessous est un cross- Parcourir l'instance de l'analyseur, l'instance charge un document XML existant ("note.xml") dans l'analyseur XML et affiche la description du message :
Instance
<html> <head> <script> var xmlDoc; function loadXML() { //load xml file code for IE if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async=false; xmlDoc.load("note.xml"); displaymessage(); } // code for Mozilla, etc. else if (document.implementation && document.implementation.createDocument) { xmlDoc= document.implementation.createDocument("","",null); xmlDoc.load("note.xml"); xmlDoc.onload=displaymessage; } else { document.write("Your browser cannot handle this script"); } } function displaymessage() { document.write(xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue); } </script> </head> <body onload="loadXML()"> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Utiliser E4X
Ce qui suit L'exemple ci-dessus est identique, mais en utilisant E4X :
xmlDoc.load("note.xml");
document.write(xmlDoc .body);
Beaucoup plus simple, non ?
Prise en charge du navigateur
Firefox est actuellement le seul navigateur qui prend bien en charge E4X.
Actuellement, il existe Opera, Chrome ou Safari qui ne prennent pas en charge E4X.
Jusqu'à présent, il n'y a aucun signe de prise en charge d'E4X dans Internet Explorer.
L'avenir d'E4X
E4X n'est pas largement pris en charge. Peut-être qu'il fournit trop peu de fonctions pratiques et n'a pas été couvert par d'autres solutions :
Pour un traitement XML complet, vous devez également apprendre XML DOM et XPath
JSON est le format préféré pour accéder à XMLHttpRequests.
Pour un traitement simple de documents, JQuery est le choix le plus simple.