TreeView绑定xml

来源:互联网 发布:基于php视频购物系统 编辑:程序博客网 时间:2024/05/02 03:09

今天说一下简单的TreeView绑定xml

首先我们先建立个xml,文件名为xitong.xml

<?xml version="1.0" encoding="utf-8" ?>
<tree text="系统">
  <jiedian text="新用户注册" url="aaa.aspx"></jiedian>
  <jiedian text="修改密码" url="aaa.aspx"></jiedian>
  <jiedian text="退出" url="aaa.aspx"></jiedian>
</tree>

这个简单的xml构建好了,下来在页面中新建一个TreeView

<form id="form1" runat="server">
    <div>
        <asp:TreeView ID="treelist" runat="server">
        </asp:TreeView>
    </div>
    </form>

后台:

    public void Bind(string strxml)
    {
        treelist.Nodes.Clear();
        XmlDataSource xds = new XmlDataSource();
        xds.DataFile = Server.MapPath(strxml);
        XmlDocument xmlDocument = xds.GetXmlDocument();
        //把根节点的东东和treeView实例根节点群丢进去递归
        BindXmlToTreeView(xmlDocument.DocumentElement, treelist.Nodes);
    }

    public void BindXmlToTreeView(XmlNode node, TreeNodeCollection tnc)
    {
        //获得节点字段值
        string text = ((XmlElement)node).GetAttribute("text");
        string strurl = ((XmlElement)node).GetAttribute("url");
        string Value = node.Name;
        tnc.Add(new TreeNode(text, Value, "", strurl, ""));
        foreach (XmlNode n in node.ChildNodes)
        {
            //指向子节点和父节点的子节点群
            BindXmlToTreeView(n, tnc[tnc.Count - 1].ChildNodes);
        }
    }   

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bind("xitong.xml");//调用方法参数是xml的文件名

        }
    }

 

原创粉丝点击