2012-03-06 8 views
2

XMLファイルのシーズンタグを繰り返し処理するswitch caseステートメントを作成しています。このステートメントは、1つのトレースステートメントが4つのシーズンのうちの1つを印刷することを考慮してうまく動作します。しかし、このケースは常にデフォルトです。しかし、なぜ私は理解していない。このswitch case stmntはforループ内にあります。AS3のswitch caseステートメントがXMLで正しく動作しない

switch(seasonOn.season){ 
       case "spring": 
        springList.push(seasonOn.place); 
        break; 
       case "summer": 
        summerList.push(seasonOn.place); 
        break; 
       case "autumn": 
        autumnList.push(seasonOn.place); 
        break; 
       case "winter": 
        winterList.push(seasonOn.place); 
        break; 
       default: 
        trace("none of the above"); 
      }/*trace(seasonOn.season); 
      trace(winterList.length);*/ 
+1

は私の答えを参照してください。あなたが文字列リテラルとXMLNodeを直接比較しているからだと思います。 XMLNodeを文字列にキャストしてから、それに対してリテラルを比較します。私の答えのコードが動作します。 –

答えて

1

作品罰金...

var seasonData:String = "<data><season>spring</season></data>" 

var seasonOn = new XML(seasonData); 

var currentSeason:String = seasonOn.season; 

var springList:Array = []; 
var summerList:Array = []; 
var autumnList:Array = []; 
var winterList:Array = []; 

switch(currentSeason){ 
case "spring": 
    springList.push(seasonOn.place); 
    trace("spring"); 
break; 

case "summer": 
summerList.push(seasonOn.place); 
    trace("summer"); 
break; 

case "autumn": 
    autumnList.push(seasonOn.place); 
    trace("autumn"); 
break; 

case "winter": 
    winterList.push(seasonOn.place); 
    trace("winter"); 
break; 

default: 
    trace("none of the above"); 
} 
関連する問題