FlashでXMLデータを扱うのは必須なんだろうか。
RSSなど読込んだり、天気予報などAPIを利用する場合は便利だな。
XMLファイルでデータを作る場合は、タグや属性で情報を入れる。
<?xml version="1.0" encoding="Shift_JIS"?>
<list>
<item>
<title>data1</title>
<image>img/image1.jpg</image>
</item>
<item>
<title>data2</title>
<image>img/image2.jpg</image>
</item>
<item>
<title>data3</title>
<image>img/image3.jpg</image>
</item>
<item>
<title>data4</title>
<image>img/image4.jpg</image>
</item>
<item>
<title>data5</title>
<image>img/image5.jpg</image>
</item>
</list>
<li><img src="img/image1.jpg" /></li>
として属性からパス情報を取得でも良いから・・・。
(x)htmlで作ればブラウザでも確認できるかと思い作ってみる、image-list.htmlとして保存
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>画像一覧</title>
</head>
<body>
<ul>
<li><img src="img/image1.jpg" />TITLE1</li>
<li><img src="img/image2.jpg" />TITLE2</li>
<li><img src="img/image3.jpg" />TITLE3</li>
<li><img src="img/image4.jpg" />TITLE4</li>
<li><img src="img/image5.jpg" />TITLE5</li>
</ul>
</body>
</html>
とりあえずFlashで読めれば良いので、判定など無しでActionScriptを作ってみる。
System.useCodepage = true; //Shift-JIS
var myXml:XML = new XML(); //XMLオブジェクト
myXml.ignoreWhite = true; //XML空白改行無視
myXml.onLoad = XmlLoad; //ロードアクション
myXml.load("image-list.html"); //外部XMLファイル
function XmlLoad(success:Boolean):Void{
//データ処理
if(success == true){
var htmlnodes:Array = myXml.firstChild.childNodes;
var body:Array = htmlnodes[1].firstChild;
var ul:Array = body.childNodes;
for(var i=0;i<ul.length;i++){
var li:Array = ul[i].childNodes;
var ImagePath:String = li[0].attributes.src;
trace(ImagePath);
}
}else{
//Error処理
trace("Error");
}
}
stop();