newenay
October 29th, 2009, 02:43 PM
Need some help parsing some .xml into a rather tricky array. I'm not sure if AS3 arrays work past the second node -- "array[0][1].link", but this works fine..."array[0].link".
I have been reading about using an object instead of an array, as well as key & dictionarys, but am unsure how to implement.
Copy and paste into a new AS3 doc. Help is mucho appreciated :h:.
var xml:XML =
<courses>
<course name="Course One" id="0">
<doc name="Doc One">www.google.com</doc>
</course>
<course name="Course Two" id="1">
<doc name="Doc One">www.yahoo.com</doc>
<doc name="Doc Two">www.adobe.com</doc>
<doc name="Doc Three">www.kirupa.com</doc>
</course>
</courses>;
var courseArr:Array = new Array();
var docArr:Array = new Array();
var il:XMLList = xml.course;
//var ml:XMLList = xml.course.doc;
for(var i:uint=0;i<il.length();i++){
courseArr[i] = new Array(il.@name[i],il.@id[i]);
docArr[i] = new Array(il.@id[i]);
trace(courseArr[i][0]);
for(var n:uint=0;n<il[i].doc.length();n++){
//docArr[i].push(il[i].doc.@name[n],il[i].doc[n]);
docArr[i].push(il[i].doc.@name[n]);
//docArr[i][n]["theLink"] = il[i].doc[n];
trace(docArr[i][n+1] + "'s URL is: ");
trace( il[i].doc[n]);
}
trace("");
}
trace("How can I save each document's URL into the docArr???");
I have been reading about using an object instead of an array, as well as key & dictionarys, but am unsure how to implement.
Copy and paste into a new AS3 doc. Help is mucho appreciated :h:.
var xml:XML =
<courses>
<course name="Course One" id="0">
<doc name="Doc One">www.google.com</doc>
</course>
<course name="Course Two" id="1">
<doc name="Doc One">www.yahoo.com</doc>
<doc name="Doc Two">www.adobe.com</doc>
<doc name="Doc Three">www.kirupa.com</doc>
</course>
</courses>;
var courseArr:Array = new Array();
var docArr:Array = new Array();
var il:XMLList = xml.course;
//var ml:XMLList = xml.course.doc;
for(var i:uint=0;i<il.length();i++){
courseArr[i] = new Array(il.@name[i],il.@id[i]);
docArr[i] = new Array(il.@id[i]);
trace(courseArr[i][0]);
for(var n:uint=0;n<il[i].doc.length();n++){
//docArr[i].push(il[i].doc.@name[n],il[i].doc[n]);
docArr[i].push(il[i].doc.@name[n]);
//docArr[i][n]["theLink"] = il[i].doc[n];
trace(docArr[i][n+1] + "'s URL is: ");
trace( il[i].doc[n]);
}
trace("");
}
trace("How can I save each document's URL into the docArr???");