2009-04-29 7 views
1

私はXMLListを持っていますが、石の属性==オパールでリストから1つを取得しようとしていますが、機能していません。ここで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

+0

タグと属性だけがXMLに「コンテンツ」がない場合、私たちが期待していることをトレースしません。私はあなたのように、xmlを見ることを期待していたが空白だがリストになっていたときにこれを見つけた。(@ stone == 'Opal')。 – WORMSS

関連する問題