🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# XML - E4X E4X 向 JavaScript 添加了对 XML 的直接支持。 ## 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); ``` **这个实例仅适用于 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 解析器,并显示消息说明: ## 实例 ``` 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 下面的实例是上面的实例相同,但是使用了 E4X: ``` var xmlDoc=new XML(); xmlDoc.load("note.xml"); document.write(xmlDoc.body); ``` 简单多了,是不是? ## 浏览器支持 **Firefox** 是目前唯一对 E4X 的支持比较好的浏览器。 目前还没有支持 E4X 的有 **Opera**、**Chrome** 或 **Safari**。 到目前为止,没有迹象显示在 **Internet Explorer** 中对 E4X 的支持。 ## E4X 的未来 E4X 没有得到广泛的支持。也许它提供的实用功能太少,尚未被其他的解决方案涉及: * 对于完整的 XML 处理,您还需要学习 [XML DOM](/dom/dom-tutorial.html) 和 [XPath](/xpath/xpath-tutorial.html) * 对于访问 XMLHttpRequests,[JSON](/json/json-tutorial.html) 是首选的格式。 * 对于简单的文档处理,[JQuery](/jquery/jquery-tutorial.html) 选择更容易。