E4X Example
E4X makes scripting for XML very simple.
E4X Example
As an example, we will work with an XML document that represents an order.
The XML document looks like this:
<order>
<date>2005-08-01</date>
<customer>
<firstname>John</firstname>
<lastname>Johnson</lastname>
</customer>
<item>
<name>Maxilaku</name>
<qty>5</qty>
<price>155.00</price>
</item>
</order>
|
If we had this XML document stored in a string called txt, we
could load it into an XML object variable called order, by writing the following
JavaScript statement:
|
var order = new XML(txt);
|
Or we could assign the XML text directly to the XML object variable:
var order = new XML()
order=
<order id="555">
<date>2005-08-01</date>
<customer>
<firstname>John</firstname>
<lastname>Johnson</lastname>
</customer>
<item>
<name>Maxilaku</name>
<qty>5</qty>
<price>155.00</price>
</item>
</order>;
|
Working With the Data
Calculate the price:
|
var total=order.item.qty * order.item.price;
|
Display the customers full name:
document.write(order.customer.lastname);
document.write(",");
document.write(order.customer.firstname);
|
Add a new item:
order.item+=
<item>
<name>Pavlova</name>
<qty>10</qty>
<price>128.00</price>
</item>;
|
Display the order id:
|
document.write(order.@id);
|
Calculate the total price, when the order has many items:
var price=0;
for each (i in order.item)
{
price+= i.qty*i.price;
}
|
 |
Try it Yourself - Examples |
Create an XML object variable and work with the data - Firefox only!

Need an easy way to get data into XML, or transform XML to another format?
MapForce lets you map XML data to/from any combination of XML, database, flat file, Excel 2007, XBRL, or Web services data.
Then it transforms data instantly or auto-generates royalty-free data integration code for recurrent conversions.
New features in Version 2010!
Download a free, fully functional 30-day trial to experience the following features:
- Easy-to-use, graphical data mapping interface
- Instant data transformation
- XSLT 1.0/2.0 and XQuery code generation
- Java, C#, and C++ code generation
- Advanced data processing functions
- Support for all major relational databases including SQL Server, IBM DB2, Oracle, and more
- Visual Studio & Eclipse integration
Download a fully-functional trial today!
|
|
|
|