XML加载的AS3问题



我的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,类型为,名称为:GIF文件
项目编号:1,类型为:GIF
项编号:2,类型为,GIF
项目编号:3,类型为GIF
项目编号:4,类型为;GIF
项目编号;5,类型为,名称为:SWF文件
项目编号:1,类型为:SWF
项编号:2,类型为SWF
项目编号;3,类型为SWF
项目编号:4,类型为swif
项编号:5,类型为SWF
项号:6,类型为Swaf
1项目编号:7,类型为swaf
1项目名称:8,类型为SW

您的错误是在第二个for loop而不是b中使用了变量i。我还在你的代码中做了一些风格和性能的更改:

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

最新更新