2011-10-21 113 views
0

我希望從XMLList中提取屬性並將其分配給字符串。這裏是XML的片段使用變量獲取XML屬性

<node> 
    <sport GAME="Squash" TIME1="2" TIME2="3" TIME3="8"/> 
    <sport GAME="Table Tennis" TIME1="4" TIME2="6" TIME3="7"/> 
</node> 

我有兩個變量。一個變量將包含遊戲類型,無論是壁球還是乒乓球。另一個將包含以下字符串「TIME1」,「TIME2」或「TIME3」之一。這些變量被稱爲遊戲時間。我在下面的代碼中嘗試了很多變體來獲得所需的屬性,但沒有任何快樂。所以任何幫助將不勝感激。

var result:String = node.sport.(@GAME == game).(attribute(time)); 
+0

謝謝你們,我還是那麼近。你建議的方式完美工作。再次非常感謝 – Hammer

回答

0

不完全確定你要完成什麼,但我想你正在試圖找到指定時間屬性的值?

請勿在屬性(time)周圍使用括號;

package 
{ 
    import flash.display.Sprite; 

    public class XmlAttribute extends Sprite 
    { 
     private var xml:XML = <node> 
            <sport GAME="Squash" TIME1="2" TIME2="3" TIME3="8"/> 
            <sport GAME="Table Tennis" TIME1="4" TIME2="6" TIME3="7"/> 
           </node>; 

     public function XmlAttribute() 
     { 
      super(); 

      var game:String = "Squash"; 
      var time:String = "TIME1"; 

      var result:String = xml.sport.(@GAME == game).attribute(time); 
      trace(result); 
     } 

    } 
} 

輸出爲:2

遊戲 「南瓜」 使用 「TIME1」 是:2

1

你多半還有,這裏是測試代碼和作品。

var myXML:XML = <node> 
       <sport GAME="Squash" TIME1="2" TIME2="3" TIME3="8"/> 
       <sport GAME="Table Tennis" TIME1="4" TIME2="6" TIME3="7"/> 
      </node>; 

     public function init():void { 
      var game:String = "Table Tennis"; 
      var time:String = "TIME2"; 
      var result:String = myXML.sport.(@GAME==game).attribute(time).toString(); 

      trace("Result: "+result); 
     }