AS3中的switch case case语句与XML无法正常工作

问题描述:

我在我的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

正常工作......

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