0

次の 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>);

リストをループして、 String variable に格納されている値に対応するインデックス番号を見つけるにはどうすればよいmyCountryですか? たとえば、

var myCountry:String = "Canada";

カナダが XML リストの 2 番目の要素であることを意味する 1 のインデックス値を返すループを作成する方法は?

または、別の方法でインデックス値 1 を返すことができる場合、ループは必要ないかもしれません。私は試した:

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

しかし、エラーが発生しますNo such variable: @label

4

2 に答える 2

1

このようなものは、あなたが望むことをするはずです:

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

    index++;
}

(Country変数にはcountries名前を付けるか、それに似たものにする必要があります...慣習的に大文字の名前はクラスにのみ使用されます)

これが役立つことを願っています

于 2012-07-10T20:43:09.520 に答える
0

文は、int変数ではなくXMLListを返します。

childIndexメソッドは、XMLツリー内のノードのインデックスを返します。

vardesiredIndex:int = Country.country。(@ label.toString()== myCountry).childIndex();

于 2013-02-02T14:11:46.053 に答える