[code="java"]
public class TestDemo {
private int id;
private String name;
private int parentId;
private Set child = new HashSet();
public String toXML(){
StringBuffer xml = new StringBuffer();
if(parentId==0){
xml.append("<sx:tree>");
}else{
xml.append("<sx:treenode lable='"+name+"'>");
}
for(TestDemo td : child){
xml.append(td.toXML());
}
if(parentId==0){
xml.append("</sx:tree> ");
}else{
xml.append("</sx:treenode>");
}
return xml.toString();
}
}[/code]
[code="java"]
public static void main(String[] args) {
List rightList = new ArrayList();
TestDemo right6 = new TestDemo(6,"客户添加",5);
TestDemo right7 = new TestDemo(7,"客户删除",5);
TestDemo right8 = new TestDemo(8,"客户修改",5);
TestDemo right5 = new TestDemo(5,"客户管理",0);
TestDemo right10 = new TestDemo(10,"VIP客户添加",6);
TestDemo right11 = new TestDemo(11,"普通客户添加",6);
rightList.add(right6);
rightList.add(right7);
rightList.add(right8);
rightList.add(right10);
rightList.add(right5);
rightList.add(right11);
TestDemo root = getRoot(rightList);
System.out.println(root.toXML());
}
public static TestDemo getRoot(List<TestDemo> list){
TestDemo root = null;
for(TestDemo td : list){
if(td.getParentId()==0){
root = td;
}
}
initChild(root,list);
return root;
}
public static void initChild(TestDemo tdemo,List<TestDemo> list){
int parentId = tdemo.getId();
for(TestDemo td : list){
if(td.getParentId()==parentId){
initChild(td,list);
tdemo.getChild().add(td);
}
}
}
[/code]