最近一项目要使用Tree菜单,还要求能无限分级,所以最后选用了dhtmlxtree控件,数据使用ashx返回一个Xml字符串给填充,可我数据库存储的XML格式和dhtmlxtree要求的格式不一样,具体格式如下
源数据XML格式(片段):<orginfo id="1">
    <!-- group 部门 -->
    <group id="100" name="一级部门1">
        <!-- fri用户 -->
        <fri id="100000" name="100000"/>
        <fri id="100003" name="100003"/>
        <fri id="100001" name="100001"/>
        <fri id="100002" name="100002"/>
        <fri id="100004" name="100004"/>
        <fri id="100005" name="100005"/>
        <fri id="100006" name="100006"/>
        <fri id="100007" name="100007"/>
        <fri id="100008" name="100008"/>
        <fri id="100009" name="100009"/>
        <fri id="100010" name="100010"/>
        <fri id="100011" name="100011"/>
        <fri id="100012" name="100012"/>
        <fri id="100013" name="100013"/>
        <fri id="100014" name="100014"/>
        <fri id="100015" name="100015"/>
    </group>
    <group id="101" name="一级部门2">
        <group id="105" name="二级部门1"/>
        <group id="106" name="二级部门2"/>
        <fri id="100000" name="100000"/>
    </group>
    <group id="102" name="一级部门3">
        <fri id="100000" name="100000"/>
    </group>
    <group id="103" name="一级部门4">
        <fri id="100000" name="100000"/>
    </group>
    <group id="104" name="一级部门5">
        <fri id="100000" name="100000"/>
    </group>
    <fri id="100016" name="100016"/>
    <fri id="100017" name="100017"/>
</orginfo>
<orginfo id="2">
    <!-- group 部门 -->
    <group id="100" name="一级部门1">
        <!-- fri用户 -->
        <fri id="100000" name="100000"/>
        <fri id="100003" name="100003"/>
        <fri id="100001" name="100001"/>
        <fri id="100002" name="100002"/>
        <fri id="100004" name="100004"/>
        <fri id="100005" name="100005"/>
        <fri id="100006" name="100006"/>
        <fri id="100007" name="100007"/>
        <fri id="100008" name="100008"/>
        <fri id="100009" name="100009"/>
        <fri id="100010" name="100010"/>
        <fri id="100011" name="100011"/>
        <fri id="100012" name="100012"/>
        <fri id="100013" name="100013"/>
        <fri id="100014" name="100014"/>
        <fri id="100015" name="100015"/>
    </group>
    <group id="101" name="一级部门2">
        <group id="105" name="二级部门1"/>
        <group id="106" name="二级部门2"/>
        <fri id="100000" name="100000"/>
    </group>
    <group id="102" name="一级部门3">
        <fri id="100000" name="100000"/>
    </group>
    <group id="103" name="一级部门4">
        <fri id="100000" name="100000"/>
    </group>
    <group id="104" name="一级部门5">
        <fri id="100000" name="100000"/>
    </group>
    <fri id="100016" name="100016"/>
    <fri id="100017" name="100017"/>
</orginfo>dhtmlxtree要使用格式(模板):<tree id="0">
<item text="Books" id="books" open="1"  call="1" select="1">
<item text="Mystery &amp; Thrillers" id="mystery" >
<item text="Lawrence Block" id="lb" >
<item text="All the Flowers Are Dying" id="lb_1" />
<item text="The Burglar on the Prowl" id="lb_2" />
<item text="The Plot Thickens" id="lb_3" />
<item text="Grifter's Game" id="lb_4" />
<item text="The Burglar Who Thought He Was Bogart" id="lb_5" />
</item>
<item text="Robert Crais" id="rc" >
<item text="The Forgotten Man" id="rc_1" />
<item text="Stalking the Angel" id="rc_2" />
<item text="Free Fall" id="rc_3" />
<item text="Sunset Express" id="rc_4" />
<item text="Hostage" id="rc_5" />
</item>
<item text="Ian Rankin" id="ir" ></item>
<item text="James Patterson" id="jp" ></item>
<item text="Nancy Atherton" id="na" ></item>
</item>
<item text="Ian Rankin" id="ir" ></item>
<item text="James Patterson" id="jp" ></item>
</item>
</tree>要求:
1.只要部门不要用户,即原xml中的fri节点去掉。
2.部门ID不能重复,目前是有重复的。
3.dhtmlxtree要求格式中text显示内内容即是部门name请大家给个最好最快捷的解决方案,把原数据转换成dhtmlxtree要求的格式。
新手,只能发20分的贴子。