forked from: forked from: flash on 2009-5-19

by gurumi forked from forked from: flash on 2009-5-19 (diff: 18)
xmlを読み込むテスト
♥0 | Line 40 | Modified 2009-05-20 23:53:00 | MIT License
play

ActionScript3 source code

/**
 * Copyright gurumi ( http://wonderfl.net/user/gurumi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/4fUr
 */

// forked from yd_niku's forked from: flash on 2009-5-19
// forked from gurumi's flash on 2009-5-19
//xmlを読み込むテスト

package {
    import flash.display.*;
    import flash.text.*;
    import flash.events.*;
    import flash.net.*;
    import flash.text.TextFormat;
    
    [SWF(backgroundColor="#000000", frameRate=30)]
    
    public class xmlTest extends Sprite
    {
        private var xmlLoader:URLLoader;
        private var tf:TextField;

        public function xmlTest()
        {
            tf = new TextField();
            tf.text = "weather";
            tf.width = stage.stageWidth;
            tf.height= stage.stageHeight;
            addChild(tf);
            
            // crossdomain.xml があるサイトからとればいい
            // http://level0.kayac.com/crossdomain.xml
            var requset:URLRequest = new URLRequest("http://level0.kayac.com/atom.xml");
            
            // crossdomain.xmlで許可されてないドメインからのリクエストはSecurity Errorがでる
            // http://rss.weather.yahoo.co.jp/crossdomain.xml
            //var requset:URLRequest = new URLRequest("http://rss.weather.yahoo.co.jp/rss/days/4410.xml");
            
            xmlLoader = new URLLoader();
            xmlLoader.load(requset);
            xmlLoader.addEventListener(Event.COMPLETE, completeHandler);
        }
        
        private function completeHandler(event:Event):void {
            var loader:URLLoader = URLLoader(event.target);
            var xmlData :XML= new XML( loader.data );
            // namespaceがついてるので取得
            var ns:Namespace = new Namespace( xmlData.namespaceDeclarations()[0]);
           
            // namespaceつきで要素にアクセス
            tf.text = xmlData.ns::title;
            tf.x = stage.stageWidth/2-50;
            tf.y = stage.stageHeight/2-10;
            tf.textColor = 0xFFFFFF;
            
            var tformat:TextFormat = new TextFormat();
            tformat.size=300;
            
            
            // Namespaceについてはこの辺とか読むといいかも
            //http://d.hatena.ne.jp/Kishi/20070628/1183033689
            
            addEventListener(Event.ENTER_FRAME, test01);
        }
        
        //すみません、明日がんばります。。。
        private function test01(event:Event):void {
            tf.x +=1;                
        }
    }
}