2014-01-10 3 views
0

Мой файл XML здесь: http://gabriel-atanasov.eu/stylus/ask/all.xmlAS3 проблема с нагрузкой XML

Мой код:


var myXML:XMLList; 
var myLoader:URLLoader = new URLLoader(); 

myLoader.load(new URLRequest("http://gabriel-atanasov.eu/stylus/ask/all.xml")); 
myLoader.addEventListener(Event.COMPLETE, processXML); 

function processXML(e:Event):void { 
    myXML = new XMLList(e.target.data); 
    for (var i:int = 0; i<myXML.*.length(); i++) { 
     trace("Folder number: " + (i+1) + ", Name is: " + myXML.folder[i][email protected]); 

     for (var b:int = 0; i<myXML.folder[i].*.length(); i++) { 
      trace("Item number: " + (b+1) + ", Type is: " + myXML.folder[b].*[email protected]); 
     } 
    } 
} 

Аnd результат в 'Output' должно быть что-то вроде:

Номер папки: 1, имя: PNG-файлы
Номер товара: 1, Тип: png
Пункт номер: 2, Тип является: детские
Пункта номер: 3, Тип является: детские
Пункта номер: 4, Тип является: детский номер
товара: 5, Тип является: детским номер
товара: 6 , Тип является: детские
Пункт номер: 7, Тип является: PNG
Код товара: 8, Тип является: детские номер
Пункт: 9, Тип является: детские

Папка номер: 2, Имя является: GIF-файлы
Номер товара: 1, Тип: gif
Пункт номер: 2, Тип является: GIF
Пункт номер: 3, Тип является: GIF
Пункт номер: 4, Тип является: GIF
Пункт номер: 5, Тип является: GIF
количество товара: 6 , Тип является: GIF
Пункт номер: 7, Тип является: GIF
Пункт номер: 8, Тип является: GIF
Пункт номер: 9, Тип является: GIF

номер папки: 3, Имя является: SWF-файлы
Номер товара: 1, Тип: swf
Пункт номер: 2, Тип является: SWF
Пункт номер: 3, Тип является: SWF
Пункт номер: 4, Тип является: SWF
Пункт номер: 5, Тип является: SWF
номер товара: 6 , Тип является: SWF
Пункт номер: 7, Тип является: SWF
Пункт номер: 8, Тип является: SWF
Пункт номер: 9, Тип является: SWF

+0

чем проблема? –

+0

'for (var i: int = 0; i <3; i ++) { \t MovieClip_name =" folder_ "+ (i +1); \t \t var MovieClip_name: MovieClip = new addFolder_mc(); addChild (MovieClip_name); } 'Где проблема в этом коде и как исправить? – Some1

+0

Я искал что-то более похожее на письменное описание проблемы, а не код, но, похоже, fsbmain раскрыл вашу проблему независимо. –

ответ

2

Ваша ошибка является использование переменной i во втором for loop вместо b. Я также сделал некоторые стиля и производительности изменения в коде:

function processXML(e:Event):void 
    { 
     var myXML:XML = new XML(e.target.data); 
     var folders:XMLList = myXML.folder; 
     var len:int = folders.length(); 
     var folder:XML, files:XMLList, file:XML, len2:int; 

     for (var i:int = 0; i < len; i++) 
     { 
      folder = folders[i]; 
      trace("Folder number: " + (i+1) + ", Name is: " + [email protected][0]); 

      files = folder.*; 
      len2 = files.length(); 
      for (var b:int = 0; b<len2; b++) 
      { 
       file = files[b]; 
       trace("Item number: " + (b+1) + ", Type is: " + [email protected][0]); 
      } 
     } 
    } 

выход:

Folder number: 1, Name is: PNG files 
Item number: 1, Type is: png 
Item number: 2, Type is: png 
Item number: 3, Type is: png 
Item number: 4, Type is: png 
Item number: 5, Type is: png 
Item number: 6, Type is: png 
Item number: 7, Type is: png 
Item number: 8, Type is: png 
Item number: 9, Type is: png 
Folder number: 2, Name is: GIF files 
Item number: 1, Type is: gif 
Item number: 2, Type is: gif 
Item number: 3, Type is: gif 
Item number: 4, Type is: gif 
Item number: 5, Type is: gif 
Item number: 6, Type is: gif 
Item number: 7, Type is: gif 
Item number: 8, Type is: gif 
Item number: 9, Type is: gif 
Folder number: 3, Name is: SWF files 
Item number: 1, Type is: swf 
Item number: 2, Type is: swf 
Item number: 3, Type is: swf 
Item number: 4, Type is: swf 
Item number: 5, Type is: swf 
Item number: 6, Type is: swf 
Item number: 7, Type is: swf 
Item number: 8, Type is: swf 
Item number: 9, Type is: swf