RSS1.0の解析
Namespaceクラス が必要
Namespace - ActionScript 3.0 コンポーネントリファレンスガイド
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/Namespace.html
参考RSSはICC ONLINE | ICC マッシュアップ・アート・コンテスト
http://www.ntticc.or.jp/Exhibition/2007/mashup/api_j.html
package com.test { import flash.display.* import flash.events.* import flash.net.* public class goo_main extends MovieClip { private var MyXML:XML // Namespace private var rss:Namespace = new Namespace("http://purl.org/rss/1.0/"); private var rdf:Namespace = new Namespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#"); private var dc:Namespace = new Namespace("http://purl.org/dc/elements/1.1/"); function goo_main():void{ trace("test_main "+this) //読み込み開始 XML_loader() } // リクエストとイベント function XML_loader (req:String="http://ranking.goo.ne.jp/rss/keyword/keyrank_female/index.rdf"):void { var loader:URLLoader = new URLLoader () var request:URLRequest = new URLRequest (req) try { loader.load(request) } catch(error:SecurityError) { trace("ERROR") } loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler) loader.addEventListener(Event.COMPLETE, loaderComplateHandler) } // 読み込みが完了 function loaderComplateHandler(e:Event):void { var loader:URLLoader = URLLoader(e.target) try { MyXML = new XML (loader.data) //パース readNodes(MyXML) // 普通のテキストで全部取得 //trace(MyXML.toXMLString()) } catch (e:TypeError) { // TypeErrorは引数の型が間違っていたらスローする trace("Could not parse the XML file."); } } // 読み込みに失敗 function errorHandler(e:IOErrorEvent):void { var loader:URLLoader = URLLoader(e.target) trace("XML load error") } // 完了してパースをする所 function readNodes (node:XML):void { default xml namespace = rss var times:uint = 0 trace(node.itme[0]) for each (var element:XML in node.item) { // さらにCategoryName(子タグ)があれば値を取り出す // 雑誌タイトル trace("title "+element.title) var title:String = element.title // URI // trace(element.ImageUrl) var uri:String = element.link // 画像読み込み //readImges(title, uri, times++) } }