E4X Examples

From http://www.w3schools.com (Copyright Refsnes Data)

# 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
      }

From http://www.w3schools.com (Copyright Refsnes Data)