var MyXML:XML
/* 1 */
var loader:URLLoader = new URLLoader ()
var request:URLRequest = new URLRequest ("http://ws.fujisan.co.jp/search/category")
try {
loader.load(request)
} catch(error:SecurityError) {
trace("ERROR")
}
/* 2 URLLoaderのコンストラクタの引数にURLRequestを入れるとロードを始める */
/*
var request:URLRequest = new URLRequest ("http://ws.fujisan.co.jp/search/category")
var loader:URLLoader = new URLLoader (request)
*/
loader.addEventListener(Event.COMPLETE, loaderComplateHandler)
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler)
function loaderComplateHandler(event:Event):void {
// 無くても動く、loaderの参照を上書きしてるだけ
var loader:URLLoader = URLLoader(event.target)
// 特殊文字のまま全部取得
// trace(loader.data)
try {
MyXML = new XML (loader.data)
readNodes(MyXML)
// 普通のテキストで全部取得
// trace(MyXML.toXMLString())
} catch (e:TypeError) {
// TypeErrorは引数の型が間違っていたらスローする
trace("Could not parse the XML file.");
}
// 普通のテキストで全部取得
// trace(MyXML.toXMLString())
}
function readNodes (node:XML):void {
// ルート直下のタグをぶつ切りにする
for each (var element:XML in node.elements()) {
// さらにCategoryName(子エレメント)があれば値を取り出す
trace(element.CategoryName)
trace("***************************")
// 子エレメントのタグを巡回する
//readNodes(element);
}
}
}
}
function errorHandler(e:IOErrorEvent):void {
trace("IOErrorEvent.IO_ERROR")
}