C#使用XML序列化操作菜单的方法

前端技术 2023/09/06 C#

本文实例讲述了C#使用XML序列化操作菜单的方法。分享给大家供大家参考。具体分析如下:

之前的一篇文章《C#递归读取XML菜单数据的方法》没使用XML序列化来操作菜单,而且发现那还有一个问题,就是在XML菜单的某个菜单节点前加上一些注释代码的就不能读取,现在使用XML序列化后可以很方便的读取,故在此写一写。

XML菜单的节点代码如下:

复制代码 代码如下:

<?xml version=\"1.0\" encoding=\"utf-8\"?>
  <ZCSoft.Net xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">
   <Applications>
      <Application ID =\"OA\" Text=\"OA管理系统\">
        <Modules>
          <Module ID=\"OA_System\" Text=\"系统管理\">
            <Menus>
            <Menu ID=\"OA_System_UserManager\" Text=\"人员管理\" URL=\"System/UserManager/UserManagerList.aspx\"> </Menu>
              <Menu ID=\"OA_System_RoleManager\" Text=\"角色管理\" URL=\"System/RoleManager/RoleManagerList.aspx\"></Menu>
              <Menu ID=\"OA_System_LoginLog\" Text=\"登录日志\" URL=\"System/Log/LoginLogList.aspx\"></Menu>
            <Menu ID=\"OA_System_OperateLog\" Text=\"操作日志\" URL=\"System/Log/OperateLogList.aspx\"></Menu>
            </Menus>
          </Module>
 
          <Module ID=\"OA_TargetManage\" Text=\"目标管理\">
            <Menus>
              <Menu ID=\"OA_TargetManage_TargetSetup\" Text=\"目标设定\" URL=\"OA/TargetManage/TargetSetupList.aspx\">
              </Menu>
            </Menus>
          </Module>
        </Modules>
      </Application>
    <Applications>
</ZCSoft.Net>

这里面有一个节点:Applications(应用程序节点),里面可以放多个Application,而每个Application节点里面只包含一个Modules(模块节点),Modules有多个Module,每个Module又只有一个Menus(菜单节点),而Menus里有多个Menu。而每个节点都有两个公共的属性:ID和Text。

故这里写一个公共的属性类:BaseAttribute,前面记得加上序列化标识Serializable,代码如下:

复制代码 代码如下:

[Serializable]
    public class BaseAttribute
    {
        [XmlAttribute(AttributeName = \"ID\")]
        public string ID { get; set; }

        [XmlAttribute(AttributeName = \"Text\")]
        public string Text { get; set; }
    }

本文地址:https://www.stayed.cn/item/17069

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。