以下是引用邓士林在2014-6-13 18:55:47的发言:
TD这样的话已经把XML文件已经固定死了,如果在开发过程中利用XML进行菜单项的配置或其它配置,这样写太麻烦了,我前段时间做了一个是利用TreeList控件做的,只是简单的绑定,命名的话也没有那么多要求。就是将节点进行遍历读取到datatable中,然后进行绑定,设计的时候应该采用递归的思想进行处理,但是TreeList要求具有ID、ParentID的对应关系,所以在设计递归的时候就比较困难了,然后就没做成,最后采用了原始的遍历读取,然后处理。
对于你这个命名要求,有两个方面要注意,第一个是所在的层数,第二个是所在该层中的ID;突然有个想法,你可以设计算法进行二叉树的遍历,每读取一个节点就进行写入XML中一个节点,然后接着读取左节点,然后再在读取右节点,在读取的过程中记录下所在的层数和该层节点的ID,每次读取进行叠加,右节点读取后将根节点赋给做节点,同时进行左右节点的判断,然后再将根节点赋给上一个根节点的右节点。这样是不是可以形成递归呢?我也不知道,只是想法。
不错,我已经这样思考过了,但是我无法用程序实现。
也许是我当时心急烦躁,所以想不出思路。我也觉得像你这样的思路应该是可行的,但我一直写不出代码。
T版的代码是根据固定的数据来生成一个XML,这个我在学习XML的过程中就碰过了。
但是如果我输入的数据是一组随机数,然后将这组随机数进行二叉排序,然后再生成XML,这就要有一个固定的思路来依次提取结点中的数据,不然每一次输入的
数据不一样,就会有不同的二叉排序法,那样岂不是要修改程序来适应这组数据?
我的想法和你的一样,只是我还没有想出怎么个提取结点,才能保证生成的XML是正确的。