我有一些UIComponent分组,可能看起来像“Group”和“Element”这样的类。
组可以有子项,子项可以是元素或组,基本上类似于文件系统或几个图形程序中的str + g组功能。最简单的一个组是一个只有子项的组,它们也是树中最低级别的组。
编辑: 显示层次结构已经存在,我尝试将其持久化为xml。
Group
- element
- Group
- element
- Group
-element
-element
- element
- element
我想在xml文档中重建此结构以实现持久性。 我知道如何在Flex中构建一个xml文档,但不知道如何(递归地)正确遍历这个n-tree。
更新
仅获取子节点,可以使用以下算法(伪代码)。但不知怎的,我不明白如何从这个创建xml。
walkTree(group) {
children = node.getChildren
if(children != null) {
for(int i=0; i<children.length; i++) {
if(children[i].isGroup()) {
walkTree(group[i]);
} else {
trace(child);
}
}
}
}
答案 0 :(得分:0)
首先,我建议:http://www.sephiroth.it/tutorials/flashPHP/E4X/
所以,基本上,你在寻找的东西看起来像是ActionScript 3中的E4X
答案 1 :(得分:0)
我的建议是让您的结构从一开始就是数据驱动,因此XML控制着屏幕的绘制。那么你将拥有XML并且不需要它。
但是,如果你真的想这样做,你需要遍历每个级别的所有子节点并添加一些描述子节点的节点。但是,如果你没有一个数据驱动的视图,我看不出这对你有什么好处(如果你这样做,而且它不是XML,你最好从数据端编写数据导出,不是观点方面)。