[AS]XMLで要素数が何個あるかわからないデータを取得する時の方法 (for each ( in )の使い方) 

フレームアクションでこんな感じ。

var xml:XML = 
<sampleXML>
<test>まるいち</test>
<test>まるに</test>
<test>まるさん</test>
<test>まるよん</test>
<test>まるご</test>
</sampleXML>;

trace(xml);

var xmlArray:Array = new Array();

var sampleXMLList:XMLList = xml.test;

//配列にtest要素を突っ込む
for (var i:uint = 0; i< sampleXMLList.length(); i++) {
	xmlArray.push(xml.test[i]);
}
//配列の中身を確認
for (i = 0; i < xmlArray.length; i++) {
	trace("xmlArray その1 : "+xmlArray[i]);
}

//配列を空にする。
xmlArray = [];

//配列にtest要素を突っ込む
for each (var container:Object in xml.test) {
	xmlArray.push(container);
}
//配列の中身を確認
for (i = 0; i < xmlArray.length; i++) {
	trace("xmlArray その2 : "+xmlArray[i]);
}

プレビュー時の出力はこんな感じ

まるいち
まるに
まるさん
まるよん
まるご

xmlArray その1 : まるいち
xmlArray その1 : まるに
xmlArray その1 : まるさん
xmlArray その1 : まるよん
xmlArray その1 : まるご
xmlArray その2 : まるいち
xmlArray その2 : まるに
xmlArray その2 : まるさん
xmlArray その2 : まるよん
xmlArray その2 : まるご

注意するのは
Arrayの中身を数えるのは、Array.length
XMLListの中身を数えるのは、XMLList.length();
微妙に違うところ。

あとfor each (in)分を使えば、データの数がわからなくとも、データがあるだけループさせられる。

[AS]XMLとXMLListについて

//XMLからノードを抜き出したものがXMLListとなるらしい。

//抜き出したノードはXMLListに代入できる

var xml:XML=
<data1>
<node>Node1</node>
<node>Node2</node>
</data1>;
var xmllist:XMLList = new XMLList();
xmllist = xml.node;

//でもXMLに代入はできない。

var xml:XML=
<data1>
<node>Node1</node>
<node>Node2</node>
</data1>;
var xml1:XML = new XML();//XMLではダメ。
xml1 = xml.node;

//2008/1/15追記
//これならXMLとなる

xml1 = xml.node[0];