E4X 向 JavaScript 添加了對(duì) XML 的直接支持。
實(shí)例
<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>
這個(gè)實(shí)例僅適用于 Firefox!
運(yùn)行實(shí)例 ?點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線(xiàn)實(shí)例
作為一個(gè) JavaScript 對(duì)象的 XML
E4X 是正式的 JavaScript 標(biāo)準(zhǔn),增加了對(duì) XML 的直接支持。
使用 E4X,您可以用聲明 Date 或 Array 對(duì)象變量的方式聲明 XML 對(duì)象變量:
var y = new Date()
var z = new Array()
E4X 是一個(gè) ECMAScript(JavaScript)標(biāo)準(zhǔn)
ECMAScript 是 JavaScript 的正式名稱(chēng)。ECMA-262(JavaScript 1.3)是在 1999 年 12 月標(biāo)準(zhǔn)化的。
E4X 是 JavaScript 的擴(kuò)展,增加了對(duì) XML 的直接支持。ECMA-357(E4X)是在 2004 年 6 月標(biāo)準(zhǔn)化的。
ECMA 組織(成立于 1961 年),是專(zhuān)門(mén)用于信息和通信技術(shù)(ICT)和消費(fèi)電子(CE)的標(biāo)準(zhǔn)化。 ECMA 制定的標(biāo)準(zhǔn)為:
JavaScript
C# 語(yǔ)言
國(guó)際字符集
光盤(pán)
磁帶
數(shù)據(jù)壓縮
數(shù)據(jù)通信
等等...
沒(méi)有使用 E4X
下面的實(shí)例是一個(gè)跨瀏覽器的實(shí)例,實(shí)例加載一個(gè)現(xiàn)有的 XML 文檔("note.xml")到 XML 解析器,并顯示消息說(shuō)明:
實(shí)例
<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>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線(xiàn)實(shí)例
使用 E4X
下面的實(shí)例是上面的實(shí)例相同,但是使用了 E4X:
xmlDoc.load("note.xml");
document.write(xmlDoc.body);
簡(jiǎn)單多了,是不是?
瀏覽器支持
Firefox 是目前唯一對(duì) E4X 的支持比較好的瀏覽器。
目前還沒(méi)有支持 E4X 的有 Opera、Chrome 或 Safari。
到目前為止,沒(méi)有跡象顯示在 Internet Explorer 中對(duì) E4X 的支持。
E4X 的未來(lái)
E4X 沒(méi)有得到廣泛的支持。也許它提供的實(shí)用功能太少,尚未被其他的解決方案涉及:
對(duì)于完整的 XML 處理,您還需要學(xué)習(xí) XML DOM 和 XPath
對(duì)于訪(fǎng)問(wèn) XMLHttpRequests,JSON 是首選的格式。
對(duì)于簡(jiǎn)單的文檔處理,JQuery 選擇更容易。