Manuel techniqu...login
Manuel technique XML
auteur:php.cn  temps de mise à jour:2022-04-14 15:57:53

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 x = new XML()

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 :

var xmlDoc=new XML();
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.


Site Web PHP chinois