W3Schools.com

XML - E4X


E4X adds direct support for XML to JavaScript.


E4X Example

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

This example works in Firefox only!

Try it yourself »



XML As a JavaScript Object

E4X is an official JavaScript standard that adds direct support for XML.

With E4X, you can declare an XML object variable the same way as you declare a Date or an Array object variable:

var x = new XML()

var y = new Date()

var z = new Array()

E4X is an ECMAScript (JavaScript) Standard

ECMAScript is the official name for JavaScript. ECMA-262 (JavaScript 1.3) was standardized in December 1999.

E4X is an extension of JavaScript that adds direct support for XML. ECMA-357 (E4X) was standardized in June 2004.

The ECMA organization (founded in 1961) is dedicated to the standardization of Information and Communication Technology (ICT) and Consumer Electronics (CE). ECMA has developed standards for:

  • JavaScript
  • C# Language
  • International Character Sets
  • Optical Disks
  • Magnetic Tapes
  • Data Compression
  • Data Communication
  • and much more...

Without E4X

The following example is a cross browser example that loads an existing XML document ("note.xml") into the XML parser and displays the message from the note:

Example

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);
}

Try it yourself »

With E4X

The following example is the same as above but using E4X:

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

Much simpler, isn't it?


Browser Support

Firefox is currently the only browser with relatively good support for E4X.

There are currently no support for E4X in Opera, Chrome, or Safari.

So far there is no indication for of E4X support in Internet Explorer.


The Future of E4X

E4X is not widely supported. Maybe it offers too little practical functionality not already covered by other solutions:

  • For full XML processing, you still need the XML DOM and XPath
  • For accessing XMLHttpRequests, JSON is the preferred format.
  • For easy document handling, JQuery selectors are easier.



W3Schools Certification

W3Schools' Online Certification

The perfect solution for professionals who need to balance work, family, and career building.

More than 10 000 certificates already issued!

Get Your Certificate »

The HTML Certificate documents your knowledge of HTML.

The CSS Certificate documents your knowledge of advanced CSS.

The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.

The jQuery Certificate documents your knowledge of jQuery.

The XML Certificate documents your knowledge of XML, XML DOM and XSLT.

The ASP Certificate documents your knowledge of ASP, SQL, and ADO.

The PHP Certificate documents your knowledge of PHP and SQL (MySQL).

WEB HOSTING
Best Web Hosting
PHP MySQL Hosting
Best Hosting Coupons
UK Reseller Hosting
Cloud Hosting
Top Web Hosting
$3.98 Unlimited Hosting
Premium Website Design
WEB BUILDING
Download XML Editor
FREE Website BUILDER
Best Website Templates Top CSS Templates
CREATE HTML Websites
EASY WEBSITE BUILDER
W3SCHOOLS EXAMS
Get Certified in:
HTML, CSS, JavaScript, XML, PHP, and ASP
W3SCHOOLS BOOKS
New Books:
HTML, CSS
JavaScript, and Ajax
STATISTICS
Browser Statistics
Browser OS
Browser Display
SHARE THIS PAGE