次のXMLでは:
<myxml>
<photos>
<photo url="1.jpg"/>
<photo url="2.jpg"/>
<photo url="3.jpg"/>
<photo url="4.jpg"/>
</photos>
</myxml>
e4xを使用してURLを抽出し、可能な限り少ないコードで配列にプッシュするにはどうすればよいですか?
次のXMLでは:
<myxml>
<photos>
<photo url="1.jpg"/>
<photo url="2.jpg"/>
<photo url="3.jpg"/>
<photo url="4.jpg"/>
</photos>
</myxml>
e4xを使用してURLを抽出し、可能な限り少ないコードで配列にプッシュするにはどうすればよいですか?
次の 1 行のコードです。
var myArray:Array = Array(myXML..@url);
trace(myArray); //outputs: 1.jpg2.jpg3.jpg4.jpg
編集: 実際には、上記の行は、すべての URL の 1 つの長い文字列を含む配列を生成します。有用な配列を生成するには、次のようにします。
var myArray:Array = new Array();
for each(var item:XML in myXML..photo){
myArray.push(item.@url);
}
trace(myArray); //outputs: 1.jpg,2.jpg,3.jpg,4.jpg
それを試してください:
var picXML:XML;
var arrayPic:Array = new Array();
var stream:FileStream = new FileStream();
stream.open("file.xml", FileMode.READ);
picXML = XML(stream.readUTFBytes(stream.bytesAvailable));
stream.close();
for(var i:int = 0; i < calendarsXML.photos.photo.length();i++)
{
arrayPic.push(myxml.photos.photo[i].@url);
}