源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c# winform读取xml文件创建菜单的代码

  • 时间:2022-09-22 09:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c# winform读取xml文件创建菜单的代码
[u]复制代码[/u] 代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using WinformMenu.Helper; using System.Xml; namespace WinformMenu {     public partial class FrmAddMenu : Form     {         public FrmAddMenu()         {             InitializeComponent();         }         private void FrmAddMenu_Load(object sender, EventArgs e)         {             MenuStrip menuS = new MenuStrip();             menuS.Parent = this;             string xmlFileName = @"F:\c#工程\WinformMenu\WinformMenu\XML\菜单.xml";             createMenu(xmlFileName, menuS);         }                 public void createMenu(string xmlFileName, MenuStrip menuS)         {               //1:根据XmlElement创建菜单             //XmlNode node = xmlHelper.GetXmlNode(xmlFileName, "//MangeTvMenu");             //foreach (XmlNode xml in node.ChildNodes)             //{             //    ToolStripMenuItem mainMenu=new ToolStripMenuItem();             //    mainMenu.Text = xml.Attributes["descript"].Value;             //    menuS.Items.Add(mainMenu);             //    if (xml.HasChildNodes)             //    {             //        CreateSubMenuByNode(xml, mainMenu);             //    }             //}             //2:根据XmlNode创建菜单             XmlElement xml = xmlHelper.GetXmlElement(xmlFileName);             foreach (XmlElement xel in xml.ChildNodes)             {                 ToolStripMenuItem mainMenu = new ToolStripMenuItem();                 mainMenu.Text = xel.Attributes["descript"].Value;                 menuS.Items.Add(mainMenu);                 if (xml.HasChildNodes)                 {                        CreateSubMenuByElement(xel, mainMenu);                 }             }         }         /// <summary>         /// 根据node节点递归创建菜单         /// </summary>         /// <param name="xNode"></param>         /// <param name="menuItem"></param>         public void CreateSubMenuByNode(XmlNode xNode, ToolStripMenuItem menuItem)         {             foreach (XmlNode xml in xNode.ChildNodes)             {                 ToolStripMenuItem subMenu = new ToolStripMenuItem();                 if (xml.ChildNodes.Count > 1)                 {                     subMenu.Text = xml.Attributes["descript"].Value;                     menuItem.DropDown.Items.Add(subMenu);                     CreateSubMenuByNode(xml, subMenu);                 }                 else                 {                     subMenu.Text = xml.InnerText;                     menuItem.DropDown.Items.Add(subMenu);                 }             }         }         /// <summary>         /// 根据元素节点递归创建菜单         /// </summary>         /// <param name="xml"></param>         /// <param name="menuItem"></param>         public void CreateSubMenuByElement(XmlElement xml, ToolStripMenuItem menuItem)         {             foreach (XmlElement xel in xml.ChildNodes)             {                 ToolStripMenuItem subMenu = new ToolStripMenuItem();                 if (xel.ChildNodes.Count>1)                 {                     subMenu.Text = xel.Attributes["descript"].Value;                     menuItem.DropDown.Items.Add(subMenu);                     CreateSubMenuByElement(xel, subMenu);                 }                 else                 {                     subMenu.Text = xel.InnerText;                     menuItem.DropDown.Items.Add(subMenu);                 }             }         }  ///////////////////////////////////////////////////     } }
xml文件格式如下:
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="utf-8" ?> <MangeTvMenu descript="管理">   <Add descript="添加">     <Employee>员工</Employee>     <Deptment>部门</Deptment>   </Add>   <EmployeeInfo descript="员工信息">     <BaseInfo>个人基本信息</BaseInfo>     <StudyInfo>学历信息</StudyInfo>     <MarryInfo>婚姻信息</MarryInfo>   </EmployeeInfo>   <DeptmentInfo descript="部门信息">     <dept1>部门1</dept1>     <dept2>部门2</dept2>   </DeptmentInfo>   <MoneyManage descript="工资管理">     <BaseMoney>基本工资</BaseMoney>     <OtherMoney>绩效工资</OtherMoney>   </MoneyManage>   <Apply descript="申请">     <AddWork>加班</AddWork>     <ApplyWeek>请假</ApplyWeek>     <AddMoney>加薪</AddMoney>     <Another>其他</Another>   </Apply> </MangeTvMenu>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部