<treenodes>
  <treenode>
     <treenode>
        test1
    </treenode>
     <treenode>
         test2
    </treenode>
  </treenode>
  <treenode>
    test3
  </treenode>
  <treenode>
      test4
  </treenode>
  <treenode>
      test5
  </treenode>
</treenodes>

解决方案 »

  1.   

    Create three .aspx filesTreeViewDataSet.aspx<%@ import Namespace="Microsoft.Web.UI.WebControls" %>
    <%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %><html>
    <head>
    <title>
    TreeViewDataSet.aspx
    </title>
    </head>
    <body>
    <form runat="Server">
    <IE:TreeView
     AutoPostBack="True"
     TreeNodeSrc="Categories.aspx"
     Runat="Server"/>
    </form>
    </body>
    </html>Categories.aspx
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><Script runat="Server">
    sub page_load
     Dim mycon as SqlConnection
     Dim cmdCategories As SqlCommand
     Dim dsCategories As DataSet
     Dim strQuery As String mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
     strQuery="select categoryname as Text,'products.aspx?catid='
     +LTRIM(STR(CategoryID))" & _
     "As TreeNodeSrc from Categories As TreeNode for xml auto, XMLDATA"
     cmdCategories=new SqlCommand(strQuery,mycon)
     dsCategories=New DataSet
     dsCategories.ReadXML(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment)
     dsCategories.DataSetName="TREENODES"
     dsCategories.WriteXml(Response.OutputStream)
    end sub
    </script>Products.aspx
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><Script runat="Server">
    sub page_load
     Dim mycon as SqlConnection
     Dim cmdProducts As SqlCommand
     Dim dsProducts As DataSet
     Dim strQuery As String mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
     strQuery="select Productname as Text from products As TreeNode" & _
     " where CategoryID=@categoryID for xml auto, XMLDATA "
     cmdproducts=new SqlCommand(strQuery,mycon)
     cmdproducts.Parameters.Add(New SqlParameter("@categoryID",Request.QueryString("catID")))
     mycon.open()
     dsproducts=New DataSet
     dsproducts.ReadXML(cmdproducts.ExecuteXmlReader(),XmlReadMode.Fragment)
     dsproducts.DataSetName="TREENODES"
     dsproducts.WriteXml(Response.OutputStream)
     mycon.close()
    end sub
    </script>
      

  2.   

    一种从数据库利用xml创建树型目录的方法(C#) (rexsp原作)  
    http://www.csdn.net/Develop/Read_Article.asp?Id=26150
    http://www.csdn.net/Develop/Read_Article.asp?Id=26151
      

  3.   

    To  wangsaokui(无间道II(前传)) :
        谢谢你的答复,你如此的方法我看过的,但是我没有尝试成功,我的数据表不是象Northwind那样规范,我需要三个数据表的数据提出来生成一个XML文件,大致的格式如下: 表1字段1
          表2字段1
              表3字段1
              表3字段2
              表3字段3
              表3字段4
     表1字段2
          表2字段2
              表3字段5
              表3字段6
              表3字段7
              表3字段8
    ....你这种方法我没有尝试成功,请问上边的方法有什么限制吗??
      

  4.   

    To   CMIC(大象) :     谢谢你的答复!
       
         我对XML也不是太熟悉,如果还有疑问会打扰你的,还望不吝赐教^_^
      

  5.   

    我的那种方法不是生成一个XML,而是要的时候(点取树节点的时候)临时查找数据库,生成对应的XML格式文件,没有成功的话看是什么错误。
      

  6.   

    To  wangsaokui(无间道II(前传)) :
        也知道你方法的意思,我这边的情况是:一棵树的节点很多,如果是你这种解决方案的话,会不会刷新的很厉害??如果是这样,我何必不用XML来解决呢?    还望多多指教^_^
      

  7.   

    与你一些想法:1.如果数据量很大,想提取大量数据而又不想刷新,建议你采用WebService + Javascript
      来实现,此种方法局限:提出的数据到客户端,不能即时与数据库保持同步2.忍耐下刷新吧^_^
    我给你邮箱发送了一份1的解决方案(我手头的资料)希望对你有帮助!
      

  8.   

    给我也发一份吧!
    [email protected]
    谢谢老大!