E4X Example

E4X 使針對 XML 的腳本非常簡單。

E4X Example

作為一個例子,我們將與一個表示訂單的 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>

Magmamalasakit sa data:

Kalkulahin ang halaga:

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

Ipakita ang pangalan ng buong kustomer:

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

Magdagdag ng bagong proyekto:

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

Ipakita ang numero ng order:

document.write(order.@id)

Kung mayroong maraming mga order, kailangan kumalkal ng kabuuang halaga:

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