AS3问题与XML加载

时间:2014-01-10 10:49:26

标签: xml actionscript-3 actionscript load

我的XML文件位于:http://gabriel-atanasov.eu/stylus/ask/all.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].@name);

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

- '输出'中的结果应该是这样的:

文件夹编号:1,名称为:PNG文件
   项目编号:1,类型为:png
   项目编号:2,类型是:png
   项目编号:3,类型是:png
   项目编号:4,类型是:png
   项目编号:5,类型是:png
   项目编号:6,类型是:png
   项目编号:7,类型是:png
   项目编号:8,类型是:png
   项目编号:9,类型是:png

文件夹编号: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

1 个答案:

答案 0 :(得分: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: " + folder.@name[0]);

            files = folder.*;
            len2 = files.length();
            for (var b:int = 0; b<len2; b++) 
            {
                file = files[b];
                trace("Item number: " + (b+1) + ", Type is: " + file.@type[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