110,537
社区成员
发帖
与我相关
我的任务
分享
<Menus value="">
<MenuItem id="100" Text="aaa" per="111"></MenuItem>
<MenuItem id="200" Text="bbb" per="101">
<MenuItem id="201" Text="bbb1" per="100"></MenuItem>
<MenuItem id="202" Text="bbb2" per="001"></MenuItem>
</MenuItem>
private void LoadXmlMenu(string strRoles)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("/App_Data/SiteMenu.xml"));
XmlNodeList xmlList = xmlDoc.DocumentElement.SelectNodes("/Menus/MainMenu[" + strRoles + "]");
foreach (XmlNode mainMenu in xmlList)
{
XmlElement xe = (XmlElement)mainMenu;
MenuItem mi = new MenuItem();
mi.Text = xe.GetAttribute("Text");
mi.Value = xe.GetAttribute("Value");
mi.NavigateUrl = xe.GetAttribute("NavigateUrl");
mi.ImageUrl = xe.GetAttribute("ImageUrl");
NavigationMenu.Items.Add(mi);
MenuItemBind(mainMenu.SelectNodes("menu[" + strRoles + "]"), mi);
}
}
private void MenuItemBind(XmlNodeList xnl, MenuItem mi)
{
foreach (XmlNode xnNext in xnl)
{
XmlElement xe = (XmlElement)xnNext;
MenuItem miNext = new MenuItem();
miNext.Text = xe.GetAttribute("Text");
miNext.Value = xe.GetAttribute("Value");
miNext.NavigateUrl = xe.GetAttribute("NavigateUrl");
miNext.ImageUrl = xe.GetAttribute("ImageUrl");
mi.ChildItems.Add(miNext);
this.MenuItemBind(xnNext.ChildNodes, miNext);
}
}
"//*[substring(@per,1,1)=1]"
"Menus//*[substring(@per,1,1)=1]"