Reputation: 6836
I'm creating an action script 3 (Flash CS5) application. I have a 2D array like this:
var data:Array = new Array(5);
data[0] = new Array(5);
data[0] = new Array(2);
data[0] = new Array(6);
data[0] = new Array(4);
data[0] = new Array(1);
how can i serialize it az XML
instance and save data in it. for example like this:
<page id="1">
<item id="1">
</item>
<item id="2">
</item>
<item id="3">
</item>
<item id="4">
</item>
<item id="5">
</item>
</page>
<page id="2">
<item id="1">
</item>
<item id="2">
</item>
</page>
<page id="3">
<item id="1">
</item>
<item id="2">
</item>
<item id="3">
</item>
<item id="4">
</item>
<item id="5">
</item>
<item id="6">
</item>
</page>
<page id="4">
<item id="1">
</item>
<item id="2">
</item>
<item id="3">
</item>
<item id="4">
</item>
</page>
<page id="5">
<item id="1">
</item>
</page>
Any sample code will be greate! Thanks in advance :D
Upvotes: 0
Views: 509
Reputation: 3522
Sample code:
var data:Array = [
["apple", "orange", "banana"],
["dog", "cat", "monkey", "lion"],
["venus", "mars"]
];
var xml:XML = <xml />;
for (var i:int = 0; i < data.length; i++) {
var page:Array = data[i];
var pageNode:XML = <page />;
pageNode.@id = i;
xml.appendChild(pageNode);
for (var j:int = 0; j < page.length; j++) {
var item:String = page[j];
var itemNode:XML = <item />;
itemNode.@id = j;
pageNode.appendChild(itemNode);
itemNode.appendChild(item);
}
}
trace("XML:", xml.toString());
Output:
XML: <xml>
<page id="0">
<item id="0">apple</item>
<item id="1">orange</item>
<item id="2">banana</item>
</page>
<page id="1">
<item id="0">dog</item>
<item id="1">cat</item>
<item id="2">monkey</item>
<item id="3">lion</item>
</page>
<page id="2">
<item id="0">venus</item>
<item id="1">mars</item>
</page>
</xml>
Upvotes: 3