ตัวอย่าง E4X

E4X ทำให้ scripting สำหรับ XML ง่ายมากขึ้น:

ตัวอย่าง E4X

เป็นตัวอย่าง พวกเราจะทำงานกับ XML ที่แสดงการสั่งซื้อ:

XML อาจเหมือนนี้:

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

หากเราจะบันทึก XML ข้อมูลในตัวแปรของชื่อ txt แล้ว ด้วยการเขียนที่สอง JavaScript ดังนี้ เราจะสามารถนำข้อมูลนี้เข้าไปใน XML Object ที่ชื่อว่า order:

var order = new XML(txt)

หรือเราอาจจะใช้แบบงาน XML ในการกำหนดค่าแก่ตัวแปร XML Object โดยตรง:

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>

จัดการข้อมูล

คำนวณราคา

var total=order.item.qty * order.item.price

แสดงชื่อสกุลของลูกค้าทั้งหมด

document.write(order.customer.lastname)
document.write(",")
document.write(order.customer.firstname)

เพิ่มรายการใหม่

order.item+=
<item>
  <name>Pavlova</name>
  <qty>10</qty>
  <price>128.00</price>
</item>

แสดงเลขที่รายการสั่งซื้อ

document.write(order.@id)

ถ้ามีหลายรายการสั่งซื้อ ต้องคำนวณราคาทั้งหมด

var price=0
for each (i in order.item)
  {
  price+= i.qty*i.price
  }