E4X 实例
E4X 使针对 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 语句,我们就可以把它载入名为 order 的 XML 对象中:
- var order = new XML(txt)
或者我们可以直接使用 XML 文档对这个 XML 对象变量进行赋值:
- 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
- }