Adobe,Animate CC,ActionScript,URLRequest,URLLoader,XML,XMLLIST
專案目的:於Adobe Animate CC 中 透過ActionScript 把物件參數設定為動態(連結外部XML)
範例1程式碼如下:
import flash.events.Event;
import flash.net.*;
var xobj: XML = new XML(); //XML物件宣告
xobj.ignoreWhite = true; //預設為false
var filepath: String = "C:\\Users\\\Ting I\\Desktop\\test.xml"; //本機路徑或是URL皆可
var request: URLRequest = new URLRequest(filepath);
var loader: URLLoader = new URLLoader(request);
loader.addEventListener(Event.COMPLETE, xmlLoaded); //第二個參數為對應的function名稱
function xmlLoaded(e: Event): void {
xobj = XML(loader.data);
trace("xml資料為:" + loader.data); //xml的全部資料內容
trace(xobj.item[0].name.toXMLString()); //把該行的XML格式做顯示
trace("第" + xobj.item[0].attribute("id") + "個網站名稱:" + xobj.item[0].name.toString() + ",網址為:" + xobj.item[0].url.toString()); //attribute及innertext顯示
}
test.xml程式碼內容如下:
<menuItem>
<item id='2'>
<name>臉書</name>
<url>https://www.facebook.com</url>
</item>
</menuItem>
測試結果畫面如下:
範例2:改寫範例1為透過XMLList類別存取所有子節點進行輸出
程式碼如下:
import flash.events.Event;
import flash.net.*;
var xobj: XML = new XML(); //XML物件宣告
xobj.ignoreWhite = true; //預設為false
var filepath: String = "C:\\Users\\\Ting I\\Desktop\\test.xml"; //本機路徑或是URL皆可
var request: URLRequest = new URLRequest(filepath);
var loader: URLLoader = new URLLoader(request);
loader.addEventListener(Event.COMPLETE, xmlLoaded); //第二個參數為對應的function名稱
function xmlLoaded(e: Event): void {
xobj = XML(loader.data);
var nodes:XMLList = xobj.children(); //讀取根節點
trace("根節點下的子節點數" + nodes.length() + "個" + "\n");
for(var i:int = 0 ; i < nodes.length(); i++)
{
trace("第" + nodes[i].attribute("id") + "個網站");
trace("名稱:" + nodes[i].child(0).toString())
trace("網址:" + nodes[i].child(1).toString() + "\n");
}
}
test.xml的內容修改如下:
<menuItem>
<item id='1'>
<name>谷歌</name>
<url>https://www.google.com</url>
</item>
<item id='2'>
<name>臉書</name>
<url>https://www.facebook.com</url>
</item>
<item id='3'>
<name>奇摩</name>
<url>https://tw.yahoo.com</url>
</item>
</menuItem>
測試結果畫面如下:
參考來源:https://help.adobe.com/zh_TW/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ff5.html