0

XML ファイルをフラッシュにロードして、結果をトレースできます。リストボックスに xml ファイルからの情報を入力したい。

xml ファイルの構造:

   <eBorders> 
    <item> 
        <thumb>borderTh/blank_th.jpg</thumb>
        <file>border/blank.jpg</file>       
    </item>
    <item> 
        <thumb>borderTh/border1_th.jpg</thumb>
        <file>border/border1.jpg</file>     
    </item>
</eBorders>

AS3 コード:

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest("xml/borders.xml"));

var dp:DataProvider = new DataProvider("borders.xml");

border_lb.dataProvider = dp;
border_lb.iconField = "iconSource";
border_lb.rowHeight = 45;

function processXML(e:Event):void {
myXML = new XML(e.target.data);
for(var i:int=0;i<myXML.*.length(); i++){
    dp.addItem({iconSource:myXML.item.thumb.[i]});
    }
}

コードが見つからないエラーを生成しています。

あなたが提供するかもしれないどんな助けにも前もって感謝します.

アニー

4

1 に答える 1

1

あなたの説明からあなたの問題を明確にするのに役立ついくつかの項目が欠けていると思います。

たとえば、processXML関数はイベント(e:Event)によってトリガーされていますが、そのイベントは表示されていません。

また、border_lbが正確に何であるかは不明です(つまり、オブジェクト、辞書ですか?)。

そうは言っても、変更するための重要なラインは次のとおりです。

iconSource:myXML.item.thumb。[i]

iconSource:myXML.item.thumb.text()[i]

また

iconSource:myXML.item.thumb[i]//ピリオドを引いたもの

例を参照してください:

import fl.data.DataProvider;


var myXML:XML = <eBorders> 
    <item> 
        <thumb>borderTh/blank_th.jpg</thumb>
        <file>border/blank.jpg</file>       
    </item>
    <item> 
        <thumb>borderTh/border1_th.jpg</thumb>
        <file>border/border1.jpg</file>     
    </item>
</eBorders>;

var dp:DataProvider = new DataProvider();
var border_lb:Dictionary = new Dictionary();
border_lb.dataProvider = dp;
border_lb.iconField = "iconSource";
border_lb.rowHeight = 45;

function processXML():void {

for(var i:int=0;i < myXML.*.length(); i++){

    trace(myXML.item.thumb.text()[i]);
    dp.addItem({iconSource:myXML.item.thumb.text()[i]});
    }
}

processXML();
于 2010-03-16T15:43:26.927 に答える