我正在构建一个处理来自基于列的数据库的数据的应用程序。我以数组的形式获取数据,其中每个数组表示数据库返回的表中的列。数据包含父母,孩子的关系。所述阵列可以看起来像(每个阵列如在普通的SQL数据库中的行视图中相同的索引):ActionScript/Flex:从数组构建XML结构
[0] empty [1] empty [2] ID-A [3] ID-B [4] ID-B <-- this represents nodes' parents
[0] ID-A [1] ID-A [2] ID-B [3] ID-C [4] ID-D <-- this represents nodes' labels
[0] 100 [1] 200 [3] 300 [4] 150 [4] 150 <-- this represents values associated with nodes
当然它们大得多。多达100000个元素。所有我想做的事,是创建的数据可以XML,我有:
<root>
<node label="ID-A" value="300">
<node label="ID-B" value="300">
<node label="ID-C" value="150"/>
<node label="ID-D" value="150"/>
</node>
</node>
</root>
请注意,对于ID-A有在顶层只有一个入口,它的价值是其所有项目的总和在数组中。
我不知道事先的结构深度和任何ID或值。如何创建XML,以便稍后能够在树形控件中显示它?我想要做的是循环访问数组,每次为ID添加一个节点(如果该ID不存在),而只是在ID存在时更新该值(将其添加到当前值)。我可以创建第一层,但是我无法在更大的深度访问和更新适当的元素。基本上,如何将我的ID-B下面添加一个ID-E的XML以上,以实现以下目标:
<root>
<node label="ID-A" value="300">
<node label="ID-B" value="300">
<node label="ID-C" value="150"/>
<node label="ID-D" value="150"/>
<node label="ID-E" value="sth"/>
</node>
</node>
</root>
还是会也许实际上是尤为明显,以建立一个ArrayCollection从阵列孩子我有?我是Flex的新手,所以我不能告诉自己什么会更有效。
您正在使用哪个数据库?,您可以更改数据库结果的格式吗? – Imran 2012-07-24 04:08:27