想从数据库中动态读取内容然后自动生成一个XML文件绑定到多选框控件成为多级菜单 是怎么实现的 
下面是两个方法
 protected string ContentPopList(string _xmlPath,string Poplist)
    {
        string _Str = "";
        try
        {
            if (!File.Exists(Server.MapPath(_xmlPath))) { PageError("找不到配置文件(" + _xmlPath + ").<li>可能是虚拟目录配置出错.请修改web.config</li>", ""); }
            string xmlPath = Server.MapPath(_xmlPath);
            FileInfo finfo = new FileInfo(xmlPath);
            System.Xml.XmlDocument xdoc = new XmlDocument();
            xdoc.Load(xmlPath);
            XmlElement root = xdoc.DocumentElement;//获取文档的根
            XmlNodeList elemList = root.GetElementsByTagName("popname");//传回指定名称的元素集合,popname是一个字符串,代表找到的元素卷标名称。使用popname "*"传回文件中所有找到的元素。             XmlNodeList elemList1 = root.GetElementsByTagName("popnumber");
            for (int i = 0; i < elemList.Count; i++)
            {
                string CheckSTR = "";
                if (Poplist.IndexOf(elemList1[i].InnerXml) !=-1){CheckSTR = " checked";}else{CheckSTR = "";}
                _Str += "<label><input value=\"" + elemList1[i].InnerXml + "\"" + CheckSTR + " name=\"PopList\" type=\"checkbox\" /><span onclick=\"getPopCode('" + elemList1[i].InnerXml + "');\" style=\"font-size:10px;\" title=\"权限代码,点击复制权限代码,对FireFox浏览区无效\">(" + elemList1[i].InnerXml + ")&nbsp;</span>" + elemList[i].InnerXml + "</label>\r";
            }
        }
        catch
        {
            _Str = "配置文件出错:" + _xmlPath + "";
        }
        return _Str;
    } protected string getRoot(string _xmlPath, string flgs)
    {
        string _Str = "";
        try
        {
            if (!File.Exists(Server.MapPath(_xmlPath))) { PageError("找不到配置文件(" + _xmlPath + ").<li>可能是虚拟目录配置出错.请修改web.config</li>", ""); }
            string xmlPath = Server.MapPath(_xmlPath);
            FileInfo finfo = new FileInfo(xmlPath);
            System.Xml.XmlDocument xdoc = new XmlDocument();
            xdoc.Load(xmlPath);
            XmlElement root = xdoc.DocumentElement;
            XmlNodeList elemList = root.GetElementsByTagName("popname");
            XmlNodeList elemList1 = root.GetElementsByTagName("poplist");
            for (int i = 0; i < elemList.Count; i++)
            {
                if (elemList[i].InnerXml == flgs) { _Str += elemList1[i].InnerXml; }else{continue;}
            }
        }
        catch
        {
            PageError("配置文件出错:" + _xmlPath + "", "");
        }
        return _Str;
    }