我希望从XMLList中提取属性并将其分配给字符串。这是XML的片段
<node>
<sport GAME="Squash" TIME1="2" TIME2="3" TIME3="8"/>
<sport GAME="Table Tennis" TIME1="4" TIME2="6" TIME3="7"/>
</node>
我有两个变量。一个变量将包含游戏类型,Squash或乒乓球。另一个将包含以下字符串之一“TIME1”,“TIME2”或“TIME3”。变量称为游戏和时间。我已经尝试了下面的代码的许多变化来获得所需的属性,但没有喜悦。所以任何帮助将不胜感激。
var result:String = node.sport.(@GAME == game).(attribute(time));
答案 0 :(得分: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);
}
答案 1 :(得分:0)
不完全确定您要完成的任务,但我认为您正在尝试查找指定时间属性的值?
不要在属性(时间)周围使用括号;
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。