Сериализация в XML двухмерного массива в Action Script 3 - PullRequest
0 голосов
/ 22 марта 2011

Я создаю приложение Action Script 3 (Flash CS5). У меня есть 2D-массив, как это:

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);

как я могу сериализовать его как экземпляр XML и сохранить в нем данные. например, вот так:

<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>

Любой пример кода будет отличным! Заранее спасибо: D

1 Ответ

3 голосов
/ 23 марта 2011

Пример кода:

    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());

Выход:

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>
...