E4X 向 JavaScript 添加了对 XML 的直接支持。
- 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);
这个实例仅适用于 Firefox!
E4X 是正式的 JavaScript 标准,增加了对 XML 的直接支持。
使用 E4X,您可以用声明 Date 或 Array 对象变量的方式声明 XML 对象变量:
- var x = new XML()
-
- var y = new Date()
-
- var z = new Array()
ECMAScript 是 JavaScript 的正式名称。ECMA-262(JavaScript 1.3)是在 1999 年 12 月标准化的。
E4X 是 JavaScript 的扩展,增加了对 XML 的直接支持。ECMA-357(E4X)是在 2004 年 6 月标准化的。
ECMA 组织(成立于 1961 年),是专门用于信息和通信技术(ICT)和消费电子(CE)的标准化。 ECMA 制定的标准为:
下面的实例是一个跨浏览器的实例,实例加载一个现有的 XML 文档("note.xml")到 XML 解析器,并显示消息说明:
- var xmlDoc;
- //code for Internet Explorer
- if (window.ActiveXObject)
- {
- xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
- xmlDoc.async=false;
- xmlDoc.load("note.xml");
- displaymessage();
- }
- // code for 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);
- }
下面的实例是上面的实例相同,但是使用了 E4X:
- var xmlDoc=new XML();
- xmlDoc.load("note.xml");
- document.write(xmlDoc.body);
简单多了,是不是?
Firefox是目前唯一对 E4X 的支持比较好的浏览器。
目前还没有支持 E4X 的有Opera、Chrome或Safari。
到目前为止,没有迹象显示在Internet Explorer中对 E4X 的支持。
E4X 没有得到广泛的支持。也许它提供的实用功能太少,尚未被其他的解决方案涉及: