.xml获取菜单数据,绑定Menu控件,XmlDataSource控件

来源:互联网 发布:网络兼职在校学生 编辑:程序博客网 时间:2024/04/30 11:11
 
XML 模式定义XSD
允许定义值的数据类型
XML路径语言:XPath
XML查询语言:XQuery
 
 
前台
 
<asp:Menu ID="sysMenu" runat="server" DataSourceID="XmlMenu" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False"> 
 
            <DataBindings> 
 
                    <asp:MenuItemBinding NavigateUrlField="Menu_url" ImageUrlField="Menu_icon" TextField="Menu_name" /> 
 
            </DataBindings> 
 
</asp:Menu> 
 
<asp:XmlDataSource ID="XmlMenu" runat="server" DataFile="~/backstage/sys/sysData/XMLMenu.xml" XPath="/*/*"></asp:XmlDataSource>
 
后台
 
            List<Sys_Menu> listmenu = Sys_MenuAdapter.Instance.LoadByparentid(0); 
 
            if (listmenu.Count > 0) 
 
            { 
 
                //初始化id   
 
                int newId = 1; 
 
                //创建XML文件对象的实例doc   
 
                XmlDocument doc = new XmlDocument(); 
 
                //加载XML文件   
 
                doc.Load(HttpContext.Current.Server.MapPath("~/backstage/sys/sysData/XMLMenu.xml")); 
 
                //获取结点Pizza下的所有子结点   
 
                XmlNodeList nodeList = doc.SelectSingleNode("Menu").ChildNodes; 
 
                if (nodeList.Count > 0) 
 
                { 
 
                    XmlNode root = doc.DocumentElement; 
 
                    root.RemoveAll(); //清空xml文件
 
                    doc.Save(HttpContext.Current.Server.MapPath("~/backstage/sys/sysData/XMLMenu.xml")); 
 
                } 
 
                else 
 
                { 
 
                    newId = 1; 
 
                } 
 
                foreach (Sys_Menu smenu in listmenu) 
 
                { 
 
                    //创建一个新的xml元素   
 
                    XmlElement MenuItem = doc.CreateElement("MenuItem"); 
 
                    //创建xml属性   
 
                    XmlAttribute Menu_name = doc.CreateAttribute("Menu_name"); 
 
                    XmlAttribute Menu_url = doc.CreateAttribute("Menu_url"); 
 
                    XmlAttribute Menu_icon = doc.CreateAttribute("Menu_icon"); 
 
                    //给xml属性赋值   
 
                    Menu_name.Value = smenu.Menu_name; 
 
                    Menu_url.Value = smenu.Menu_url + "-" + smenu.Menu_id + "-dh.html"; 
 
                    Menu_icon.Value = smenu.Menu_icon; 
 
                    //给结点赋值  
 
                    MenuItem.InnerText = smenu.Menu_name; 
 
                    //把属性值添加到元素结点里   
 
                    MenuItem.Attributes.Append(Menu_name); 
 
                    MenuItem.Attributes.Append(Menu_url); 
 
                    MenuItem.Attributes.Append(Menu_icon); 
 
                    //把元素结点添加到XMl文件里   
 
                    doc.DocumentElement.AppendChild(MenuItem); 
 
                } 
 
                //保存XML文件   
 
                doc.Save(HttpContext.Current.Server.MapPath("~/backstage/sys/sysData/XMLMenu.xml")); 
 
            }
0 0
原创粉丝点击