树形数据递归调用生成xml文件
时间:2007-09-03
来源:互联网
我想用xml文件生成目录树,这部分已经实现,现在需要从数据库里输出数据生成xml文件,我已经有一个递归的算法了,可是不知道怎么使用它,还望各位高手帮帮忙!!!算法如下:
public String getTreeXml(int rootNode,int currNode){
//rootNode为根节点,currNode为当前节点
String xml="";
xml+="<level"+currNode+"name="+name+"id="+currNode;
if(llink==0){
xml+="/>";
}else{
xml+=">";
getTreeXml(rootNode,llink);//llink表示左孩子节点
xml+="</level"+currNode+">";
}
if(rlink!=0&&currNode!=rootNode){ //rlink标示右孩子节点
getTreeXml(rootNode,rlink);
}
return xml;
}
生成的xml文件格式为
<?xml version="1.0"?>
<xml name="aaaa" id="-1">
<level1 name="s" id="1">
<level2 name="d" id="2"/>
<level3 name="f" id="3">
<level3 name="g" id="7"/>
<node name="k" id="9"/>
</level3>
<node name="n" id="4"/>
<node name="m" id="5"/>
<node name="u" id="6"/>
</level1>
</xml>
我用的是oracle数据库,数据库里字段名:id,name,llink,rlink,pid
递归算法里的那些变量的数据都是从数据库里取得,而且是递归调用的,我不知道该怎么实现,高手们快进来看看阿!!!
我知道可以用select * from table start with id=1 connect by prior id=pid 来递归查询子节点信息,可是不知道怎么跟上面那个递归算法结合起来用。
public String getTreeXml(int rootNode,int currNode){
//rootNode为根节点,currNode为当前节点
String xml="";
xml+="<level"+currNode+"name="+name+"id="+currNode;
if(llink==0){
xml+="/>";
}else{
xml+=">";
getTreeXml(rootNode,llink);//llink表示左孩子节点
xml+="</level"+currNode+">";
}
if(rlink!=0&&currNode!=rootNode){ //rlink标示右孩子节点
getTreeXml(rootNode,rlink);
}
return xml;
}
生成的xml文件格式为
<?xml version="1.0"?>
<xml name="aaaa" id="-1">
<level1 name="s" id="1">
<level2 name="d" id="2"/>
<level3 name="f" id="3">
<level3 name="g" id="7"/>
<node name="k" id="9"/>
</level3>
<node name="n" id="4"/>
<node name="m" id="5"/>
<node name="u" id="6"/>
</level1>
</xml>
我用的是oracle数据库,数据库里字段名:id,name,llink,rlink,pid
递归算法里的那些变量的数据都是从数据库里取得,而且是递归调用的,我不知道该怎么实现,高手们快进来看看阿!!!
我知道可以用select * from table start with id=1 connect by prior id=pid 来递归查询子节点信息,可是不知道怎么跟上面那个递归算法结合起来用。
作者: huimei316 发布时间: 2007-09-03
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28