E4X 向 JavaScript 添加了对 XML 的直接支持。

实例

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

这个实例仅适用于 Firefox!

运行实例 »

点击 "运行实例" 按钮查看在线实例



作为一个 JavaScript 对象的 XML

E4X 是正式的 JavaScript 标准,增加了对 XML 的直接支持。

使用 E4X,您可以用声明 Date 或 Array 对象变量的方式声明 XML 对象变量:

var x = new XML()

var y = new Date()

var z = new Array()

E4X 是一个 ECMAScript(JavaScript)标准

ECMAScript 是 JavaScript 的正式名称。ECMA-262(JavaScript 1.3)是在 1999 年 12 月标准化的。

E4X 是 JavaScript 的扩展,增加了对 XML 的直接支持。ECMA-357(E4X)是在 2004 年 6 月标准化的。

ECMA 组织(成立于 1961 年),是专门用于信息和通信技术(ICT)和消费电子(CE)的标准化。 ECMA 制定的标准为:

  • JavaScript

  • C# 语言

  • 国际字符集

  • 光盘

  • 磁带

  • 数据压缩

  • 数据通信

  • 等等...


没有使用 E4X

下面的实例是一个跨浏览器的实例,实例加载一个现有的 XML 文档("note.xml")到 XML 解析器,并显示消息说明:

实例

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

运行实例 »

点击 "运行实例" 按钮查看在线实例


使用 E4X

下面的实例是上面的实例相同,但是使用了 E4X:

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

简单多了,是不是?


浏览器支持

Firefox 是目前唯一对 E4X 的支持比较好的浏览器。

目前还没有支持 E4X 的有 OperaChromeSafari

到目前为止,没有迹象显示在 Internet Explorer 中对 E4X 的支持。


E4X 的未来

E4X 没有得到广泛的支持。也许它提供的实用功能太少,尚未被其他的解决方案涉及:

  • 对于完整的 XML 处理,您还需要学习 XML DOM 和 XPath

  • 对于访问 XMLHttpRequests,JSON 是首选的格式。

  • 对于简单的文档处理,JQuery 选择更容易。