C#递归读取XML菜单数据的方法
本文实例讲述了C#递归读取XML菜单数据的方法。分享给大家供大家参考。具体分析如下:
最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据写在数据库表,然后直接读取加载到菜单树上显示。
现在想把菜单数据都放在XML里,然后递归读取XML。
由于项目使用WCF,实体类使用了两个,一个是业务逻辑层中的实体,一个是调用业务逻辑层递归方法后进行数据实体的转换,XML读取方法写在业务逻辑层中。
思路:
1.先读取XML里所有的菜单
2.根据用户的权限显示所属用户的菜单加载到页面上
XML数据如下:
<?xmlversion="1.0"encoding="utf-8"?> <ZCSoft.Netxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Applications> <ApplicationID="OA"Text="OA管理系统"> <Modules> <ModuleID="OA_System"Text="系统管理"> <Menus> <MenuID="OA_System_UserManager"Text="人员管理"URL="System/UserManager/UserManagerList.aspx"></Menu> <MenuID="OA_System_RoleManager"Text="角色管理"URL="System/RoleManager/RoleManagerList.aspx"></Menu> <MenuID="OA_System_LoginLog"Text="登录日志"URL="System/Log/LoginLogList.aspx"></Menu> <MenuID="OA_System_OperateLog"Text="操作日志"URL="System/Log/OperateLogList.aspx"></Menu> </Menus> </Module>
<ModuleID="OA_TargetManage"Text="目标管理"> <Menus> <MenuID="OA_TargetManage_TargetSetup"Text="目标设定"URL="OA/TargetManage/TargetSetupList.aspx"> </Menu> </Menus> </Module> </Modules> </Application> </ZCSoft.Net>