RSS1.0の解析

Namespaceクラス が必要
Namespace - ActionScript 3.0 コンポーネントリファレンスガイド
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/Namespace.html


参考RSSICC 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++)
			} 
		}