我认为还是通用的程序好一点,XML本身就是树形的。现在没有时间,谁帮提供现成的代码?

解决方案 »

  1.   

    1. save your xml data into a file, say, "menu.xml"2. copy the xslt code from the following article and save it to a file, say, "tree.xsl":
    http://sources.redhat.com/ml/xsl-list/2002-02/msg00831.html3. try this in your page:
    <%@ Import Namespace="System.Xml" %>
    <%@ Import Namespace="System.Xml.XPath" %>
    <%@ Import Namespace="System.Xml.Xsl" %>
    <%@ Import Namespace="System.IO" %>
    <script language="C#" runat="server">
    void Page_Load (Object sender, EventArgs e)
    {
    XmlDocument xd = new XmlDocument();
    xd.Load(Server.MapPath("menu.xml"));
    XPathNavigator xdNav = xd.CreateNavigator();
    XslTransform tr = new XslTransform();
    tr.Load(Server.MapPath("tree.xsl"));
    StringWriter sw = new StringWriter();
    tr.Transform(xdNav,null,sw);
    Response.Write(sw.ToString());
    }
    </script>
      

  2.   

    static public void 生成树形( TreeNode tree, XmlNode xmlnode )
    {
    if( xmlnode == null )
    return ;
    TreeNode 树枝 = new TreeNode() ;

    if( !xmlnode.HasChildNodes )
    树枝.Text = xmlnode.InnerText ;
    else
    树枝.Text = xmlnode.Name ; tree.Nodes.Add( 树枝 ) ;

    foreach( XmlNode node in  xmlnode.ChildNodes )
    {
    生成树形( 树枝, node ) ;
    }