Actionscript 3 表达式没有返回我期望的结果

Actionscript 3 表达式没有返回我期望的结果,actionscript-3,e4x,Actionscript 3,E4x,我有一个XMLList,我正试图从列表中获取一个stone属性==Opal的,但它不起作用,我不明白为什么 代码如下: 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_colo

我有一个XMLList,我正试图从列表中获取一个stone属性==Opal的,但它不起作用,我不明白为什么

代码如下:

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.
var-xml:xml=
;
var list:XMLList=xml.children();
trace(list)//返回所有三个变体
列表=列表。(@stone=='Opal');
跟踪(列表);//期望返回第二个变量,但实际上什么也不返回。
有人能理解为什么这样做没有达到预期效果吗


谢谢。

我在解决这个问题之前就发布了这个问题……我需要在跟踪时添加toXMLString()

trace(list.toXMLString());

是的,这是一个奇怪的Flex调试器问题。如果一个e4x表达式只返回一个节点,它就在那里,但是跟踪总是空的。我发现,如果xml没有“内容”,只有标记和一些属性,那么它就不会跟踪我们期望的内容。我发现这一点的时候,我和你一样,希望看到xml,但列表为空。(@stone=='Opal')。length()仍然返回了正确的数量。