2012-03-06 115 views
2

我在我的XML文件中製作了一個遍歷季度標籤的switch case語句,考慮到我的一條trace語句打印出四個季節中的一個,這很好地工作。但案件總是默認。但我不明白爲什麼。這個開關case stmnt在for循環內。AS3中的switch case 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轉換爲字符串,然後比較文字。我的答案中的代碼有效。 – 2012-03-06 03:56:36

回答

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"); 
}