huimei 发表于 2007-9-3 15:31

[求助]树形数据递归调用生成xml文件

<P>我想用xml文件生成目录树,这部分已经实现,现在需要从数据库里输出数据生成xml文件,我已经有一个递归的算法了,可是不知道怎么使用它,还望各位高手帮帮忙!!!算法如下:<BR>public String getTreeXml(int rootNode,int currNode){      <BR>//rootNode为根节点,currNode为当前节点<BR>         String xml="";<BR>                     <BR>        xml+="&lt;level"+currNode+"name="+name+"id="+currNode;<BR>        if(llink==0){<BR>            xml+="/&gt;";         <BR>        }else{<BR>            xml+="&gt;";        <BR>            getTreeXml(rootNode,llink);//llink表示左孩子节点<BR>            xml+="&lt;/level"+currNode+"&gt;";         <BR>        }<BR>        if(rlink!=0&amp;&amp;currNode!=rootNode){  //rlink标示右孩子节点<BR>            getTreeXml(rootNode,rlink);<BR>        }<BR>       return xml;<BR>    }</P>
<P>生成的xml文件格式为<BR>&lt;?xml version="1.0"?&gt;<BR>&lt;xml name="aaaa" id="-1"&gt;<BR>&lt;level1 name="s" id="1"&gt;<BR>&lt;level2 name="d" id="2"/&gt;<BR>&lt;level3 name="f" id="3"&gt;<BR>&lt;level3 name="g" id="7"/&gt;<BR>&lt;node name="k" id="9"/&gt;<BR>&lt;/level3&gt;<BR>&lt;node name="n" id="4"/&gt;<BR>&lt;node name="m" id="5"/&gt;<BR>&lt;node name="u" id="6"/&gt;<BR>&lt;/level1&gt;<BR>&lt;/xml&gt;</P>
<P>怎么调用数据库的数据,好像是要用递归调用的,我想了好久都没弄出来。</P>
<P>数据库里字段名:id,name,llink,rlink,pid<BR>递归算法里的那些变量的数据都是从数据库里取得,而且是递归调用的,我不知道该怎么实现,高手们快进来看看阿!!!<BR>我用的是oracle数据库  我知道可以用select * from table start with id=1 connect by prior id=pid  来递归查询子节点信息,可是不知道怎么跟上面那个递归算法结合起来用。<BR></P>


页: [1]

编程论坛