User Guide

The E4X approach to XML processing 313
Since many server-side applications use XML to structure data, you can use the XML classes
in ActionScript to create sophisticated rich Internet applications, such as those that connect to
web services. A web service is a means to connect applications—for example, an Adobe Flash
Player 9 application and an application on a web server)—through a common standard such
as the Simple Object Access Protocol (SOAP).
The E4X approach to XML processing
The ECMAScript for XML specification defines a set of classes and functionality for working
with XML data. These classes and functionality are known collectively as E4X. ActionScript
3.0 includes the following E4X classes: XML, XMLList, QName, and Namespace.
The methods, properties, and operators of the E4X classes are designed with the following
goals:
Simplicity—Where possible, E4X makes it easier to write and understand code for
working with XML data.
Consistency—The methods and reasoning behind E4X are internally consistent and
consistent with other parts of ActionScript.
Familiarity—You manipulate XML data with well-known operators, such as the dot (.)
operator.
Here is an example of manipulating data with E4X:
var myXML:XML =
<order>
<item id='1'>
<menuName>burger</menuName>
<price>3.95</price>
</item>
<item id='2'>
<menuName>fries</menuName>
<price>1.45</price>
</item>
</order>
NOTE
There was an XML class in ActionScript 2.0. In ActionScript 3.0 it has been renamed
XMLDocument, so that it does not conflict with the ActionScript 3.0 XML class that is
part of E4X. In ActionScript 3.0, the legacy classes—XMLDocument, XMLNode,
XMLParser, and XMLTag—are included in the flash.xml package primarily for legacy
support. The new E4X classes are core classes; you need not import a package to use
them. This chapter does not go into detail on the legacy ActionScript 2.0 XML classes.
For details on these, see the flash.xml package in the ActionScript 3.0 Language
Reference.