深度遍历生成XML树
ORACLE数据库脚本:
create table domtree(
orderid number(4),
id number(4) not null, /*序号*/
name VARCHAR2(20) not null, /*节点名称名*/
value VARCHAR2(100), /*节点内容*/
fatherid number(4) not null, /*父节点ID*/
nextid number(4), /*下一个节点ID*/
layer number(4), /*层次*/
primary key(id)
);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,0,'平台','',-1,1,0);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,11,'模块','',0,21,1);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,21,'模块添加','http://cb',1,22,2);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,22,'模块删除','http://ab',1,12,2);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,12,'权限','',0,13,1);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,13,'用户','',0,31,1);
insert into DOMTREE(orderid,Id,Name,Value,FATHERID,NEXTID,LAYER) values(seq_DOMTREE_ID.NEXTVAL,31,'用户删除','http://ccb',5,-1,2);
create sequence SEQ_domtree_ID
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
JAVA代码:
public class NodeBean {
private int id = 0;
private String name = "";
private String value = "";
private int fatherid = 0;
private int nextid = 0;
private int layer = 0;
public int getFatherid() {
return fatherid;
}
p