sql=
rs=
while(rs.next()){
  out.println(一级目录);
  得到第一级别和sql2相关的信息;
  sql2=
  rs2=
    while(rs.next()){
      out.println(二级目录);
  }
}
你是要这样子的吗?不过这样要多建立几个connection。

解决方案 »

  1.   

    (只有递归实现部分)
       var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") // parser
       
       var rootNode; // Xml doc root node
       
       xmlDoc.async=true; // asyncronism
       xmlDoc.onreadystatechange=function()
       {  
          if(xmlDoc.readyState!=4)
          {
            return;
          }
          rootNode=xmlDoc.documentElement; // Xml doc root node
          tansferToTree(null,rootNode);    // 递归
          initializeDocument();            // 显示树
       }
       
       xmlDoc.load("func.xml") // Load xml file
       
       function tansferToTree(parentNode,currentNode)
       {
         var nodeList;
         
         if(currentNode.hasChildNodes())
         {
           // createBranchNode() 产生一个目录节点
           // appendBranchNode() 在父节点下增加一个目录节点,返回该目录节点
           // createLeafNode() 产生一个叶子节点
           // appendLeafNode() 在父节点下增加一个叶子节点
           if (parentNode==null)
       {
         parentNode=createBranchNode(currentNode.getAttribute("name"));
     foldersTree=parentNode;
       }
           else
       {
         parentNode=appendBranchNode(parentNode,createBranchNode(currentNode.getAttribute("name")));
       }
            
           nodeList=currentNode.childNodes;
          
           for(var i=0;i<nodeList.length;i++)
           {
             tansferToTree(parentNode,nodeList[i]);
           }
         }
         else
         {
           appendLeafNode(parentNode,createLeafNode(0,currentNode.getAttribute("name")));
         }
       }
      

  2.   

    tyscon,我是从数据库读取数据,所以有几级目录是不确定的,如果用add(new DefaultMutableTreeNode "*")必须知道父节点的名称,这点我就做不到了。
      

  3.   

    楼上,数据库提供给我的只有父节点,自己本身节点和等级,至于你的currentNode.hasChildNodes(),还要自己判断过的,我就不知道怎么递归调用了