ActionScript3:如何搜索XML列表?

ActionScript3:如何搜索XML列表?,xml,actionscript-3,Xml,Actionscript 3,我有以下XML变量: public var Country:XML=new XML( <countries> <country code="US" iso="840" label="United States" /> <country code="CA" iso="124" label="Canada" /> <country code="GB" iso="826" label="United

我有以下XML变量:

public var Country:XML=new XML(
    <countries>
         <country code="US" iso="840" label="United States" />
         <country code="CA" iso="124" label="Canada" />
         <country code="GB" iso="826" label="United Kingdom" />
         ...
    </countries>);
如何创建一个返回索引值1的循环,这意味着Canada是XML列表中的第二个元素

或者,如果索引值1可以以其他方式返回,则可能不需要循环。我试过:

var desiredIndex:int = Country.country.(@label==myCountry)

但是它给出了错误
没有这样的变量:@label

这样的东西应该可以满足您的需要:

var index:int = 0;
for each (var country:XML in Country.country)
{
    if (country.@label == myCountry)
        break;

    index++;
}
Country
变量应命名为
countries
或类似名称……传统的大写名称仅用于类)


我希望这会有所帮助,因为您的语句返回的是XMLList,而不是int变量

childIndex方法返回XML树中节点的索引:


var desiredIndex:int=Country.Country。(@label.toString()==myCountry.childIndex()

谢谢你,皮图福妈妈!它工作得很好。你知道是否有可能像我在上面尝试的那样在一行中完成所有的工作吗?
var index:int = 0;
for each (var country:XML in Country.country)
{
    if (country.@label == myCountry)
        break;

    index++;
}