2011-07-10 9 views
0

私はAS3ではあまりよくありませんが、XMLをFlashにインポートしたので、ドロップダウンメニューから動的に変更したいと思います。私は簡単な文字列で以下のスクリプトで "THISPLACE"を変更する必要があります、どうすればいいですか?ヘルプ:)Flashアクションスクリプト3の問題、プロパティ名を変更できません

function uzkrautXML():void 
{ 
    var XMLURLLoader:URLLoader = new URLLoader(); 
    XMLURLLoader.load(new URLRequest(xmlArdesas)); 
    XMLURLLoader.addEventListener(Event.COMPLETE, processXML); 
} 

function processXML(event:Event):void 
{ 
    var theXMLData:XML = new XML(XMLURLLoader.data); 
    visoSk = theXMLData.THISPLACE.length(); 

    for (var i:Number = 0; i <visoSk; i++) 
    { 
     skArray.push(theXMLData.THISPLACE[i]); 
    } 

    uzkrautSkelbimus(); 
} 

のおかげで私は、私はそのplaseを交換するだけでどのように知っておく必要があり、それを気にし、コードの間違いがある知っているが、いけない

+0

読み込んでいるxmlのサンプルを提供できますか?その中の値や構造を変更しようとしていますか?ここで素晴らしいチュートリアルをご覧ください:http://www.adobe.com/devnet/flash/articles/filtering_data_e4x.html –

+0

AS3でオブジェクトに名前を付けるときは、私はcamelcaseの使用をお勧めします。 'XMLURLLoader'を' xmlURLLoader'や 'xmlUrlLoader'や' urlLoader'だけに変更することをお勧めします。また、[オブジェクト] [イベントタイプ]でこの式を使用してイベントハンドラに名前を付けることもできます。 'onXMLURLLoaderComplete'または' onXmlUrlLoaderComplete'です。 – Taurayi

答えて

0

あなたはトップレベルのXMLクラスの子()メソッドを使用することができます。

function processXML(event:Event):void 
{ 

    var theXMLData:XML = new XML(XMLURLLoader.data); 
    theXMLData.ignoreWhite = true; 
    visoSk = theXMLData.child("THISPLACE_NAME").length(); 

    for (var i:Number = 0; i <visoSk; i++) 
    { 
     skArray.push(theXMLData.child("THISPLACE_NAME")[i]); 
    } 
    uzkrautSkelbimus(); 
} 

希望します。

+0

おかげで、これは役立ちますが、今、私は別の問題を抱えている: は、私はこのようなことの行を記述することWNT: visoSk = theXMLData.THISPLACE.anyName.length(); 私は何をしていますか? – CGpro

+0

2番目の質問は馬鹿だった...それは気にしないでください:Dあなたは私の人を救った、大変ありがとうございます;) – CGpro

+0

あなたは大歓迎です、@CGpro。あなたは答えをアップヴォートしてそれを受け入れたくありませんか? – surlac

関連する問題