XML - E4X


E4X ajoute une prise en charge directe du XML à JavaScript.


Exemple E4X

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);

Cet exemple ne fonctionne que dans Firefox !

Essayez-le vous-même »



XML en tant qu'objet JavaScript

E4X est une norme JavaScript officielle qui ajoute une prise en charge directe du XML.

Avec E4X, vous pouvez déclarer des variables objet XML de la même manière que vous déclarez des variables objet Date ou Array :

var x = new XML()

var y = new Date()

var z = new Array()

E4X est une norme ECMAScript (JavaScript)

ECMAScript est le nom officiel de JavaScript. ECMA-262 (JavaScript 1.3) a été normalisé en décembre 1999.

E4X est une extension de JavaScript qui ajoute une prise en charge directe du XML. ECMA-357 (E4X) a été normalisé en juin 2004.

L'organisation ECMA (fondée en 1961) se consacre à la normalisation pour les technologies de l'information et de la communication (TIC) et l'électronique grand public (CE). Les normes établies par ECMA comprennent :

  • JavaScript
  • Langage C#
  • Jeux de caractères internationaux
  • Disques optiques
  • Bande magnétique
  • Compression de données
  • Communication de données
  • etc.

Sans E4X

L'exemple suivant est un exemple multi-navigateurs. Il charge un document XML existant ("note.xml") dans un analyseur XML et affiche un message :

Exemple

var xmlDoc;
//code pour Internet Explorer
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("note.xml");
displaymessage();
}
// code pour Mozilla, Firefox, etc.
else (document.implementation && document.implementation.createDocument)
{
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("note.xml");
xmlDoc.onload=displaymessage;
}

function displaymessage()
{
document.write(xmlDoc.getElementsByTagName("body")[0].firstChild.nodeValue);
}

Essayez-le vous-même »

Utilisation d'E4X

L'exemple suivant est identique à l'exemple ci-dessus, mais utilise E4X :

var xmlDoc=new XML();
xmlDoc.load("note.xml");
document.write(xmlDoc.body);

Bien plus simple, n'est-ce pas ?


Prise en charge des navigateurs

FirefoxIl est actuellement le seul navigateur à offrir une prise en charge relativement bonne d'E4X.

Actuellement, ceux qui ne prennent pas en charge E4X incluent :Opera、ChromeouSafari。

Jusqu'à présent, il n'y a aucune indication queInternet Explorerprenne en charge E4X.


L'avenir d'E4X

E4X n'a pas obtenu un soutien généralisé. Peut-être offre-t-il trop peu de fonctionnalités pratiques et n'a-t-il pas encore été pris en compte par d'autres solutions :

  • Pour un traitement XML complet, vous devez aussi apprendreXML DOMetXPath
  • Pour accéder aux XMLHttpRequests,JSONest le format préféré.
  • Pour le traitement simple de documents,JQueryest un choix plus simple.

Autres extensions