您的位置:首页 > 其它

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

2017-01-17 17:01 295 查看
 

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")); 

 

            }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: