Flash AS3 загружает XML в список
Я могу загрузить свой 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]});
}
}
Код выдает ошибку, которую я не могу найти.
Заранее благодарю за любую помощь, которую вы можете предложить.
Энни
1 ответ
Я думаю, что в вашем объяснении отсутствуют некоторые пункты, которые могли бы помочь прояснить вашу проблему.
Например, функция processXML запускается событием (e:Event), но это событие не отображается.
Кроме того, неясно, что такое border_lb (то есть, это ли объект, словарь?).
При этом, я думаю, что ключевая линия для изменения:
iconSource:. myXML.item.thumb [я]
в
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();