2009-04-29 32 views
1

我有一個XMLList,我試圖從列表中抓取一個具有石頭屬性==歐泊但它不工作,我不明白爲什麼?E4X:表達式不返回我所期望的

下面是代碼:

var xml:XML = <bs><variation price="999999999.99" month="OCT" stone="Magic Pet Rock" image="https://www.sussexjewelers.com/birthstone_images/20_PE105-BT.png" style="PE105" gold_color="White" gold_carat="14"/> 
<variation price="999999999.99" month="OCT" stone="Opal" image="https://www.sussexjewelers.com/birthstone_images/17_PE105-OP.png" style="PE105-OP" gold_color="Yellow" gold_carat="14"/> 
<variation price="33212221.00" month="OCT" stone="Pink Tourmaline" image="https://www.sussexjewelers.com/birthstone_images/16_PE105-PT.png" style="PE105-PT" gold_color="Yellow" gold_carat="14"/></bs>; 


var list:XMLList = xml.children(); 

trace(list) // returns all three variations 

list = list.(@stone == 'Opal'); 

trace(list); // expecting to return the 2nd variation but actually returns nothing. 

任何人都可以看到這是爲什麼不按預期工作?

謝謝。

回答

2

我發現了這個問題之前,我想通了......我需要添加toXMLString()當我跟蹤它。

trace(list.toXMLString()); 
+0

是的,這是一個奇怪的Flex調試器問題。如果一個e4x表達式只返回一個節點,它就在那裏,但是跟蹤總是空的。 – radekg 2009-06-18 16:24:36