如果要做樹,只需要找出所有的記錄,然後用遞歸的方法判斷子菜單的ID和主菜單的ID的相關性。
供妳參考,我把目錄樹生成為XML,原理壹模壹樣,我的表結構設計和妳的壹模壹樣。
public StringBuffer initXml()拋出函數XmlTreeException {
strxml . append(" & lt;?xml版本='1.0 '編碼='utf-8 '?& gt\n "
+" & lt;樹id='0 ' >);
嘗試{
strxml . append(create tree(funs));
} catch(異常e) {
// TODO自動生成的catch塊
e . printstacktrace();
throw(new functions xmltreeexception("生成函數目錄數時出錯!") ));
}
strxml . append(" & lt;/tree >);
返回strXml
}
私有字符串create tree(List & lt;函數& gtfunlist)拋出異常{
string buffer XML = new string buffer();
for(fun:funlist){
XML . append(" & lt;item text = ' "+fun . get funname()+" ' id = ' "
+fun . getfunid()+" ' open = ' 1 ' >;\ n ");
if (null!= fun.getFuns()) {
XML . append(create tree(fun . get funs()));
}
XML . append(" & lt;/item & gt;\ n ");
}
返回XML . tostring();
}