读取XML直接转换为类对象

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfMenuItems xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <MenuItems>
    <name>xxx</name>
    <menuItemList>
      <MenuItem>
        <name>xxx1</name>
        <moduleNameSpace>ControlsLibrary</moduleNameSpace>
        <modulePath>ControlsLibrary.ControlsImp.ExamTest</modulePath>
        <configPath>\config\Exam.xml</configPath>
      </MenuItem>
      <MenuItem>
        <name>xxxxa</name>
        <moduleNameSpace>ControlsLibrary</moduleNameSpace>
        <modulePath>ControlsLibrary.ControlsImp.ExamTest</modulePath>
        <configPath>\config\Exam.xml</configPath>
      </MenuItem>
      <MenuItem>
        <name>xxxxa1</name>
        <moduleNameSpace>ControlsLibrary</moduleNameSpace>
        <modulePath>ControlsLibrary.ControlsImp.ExamTest</modulePath>
        <configPath>\config\Exam.xml</configPath>
      </MenuItem>
    </menuItemList>
  </MenuItems>
</ArrayOfMenuItems>

 

/// <summary>
        /// 所有的节点集合
        /// </summary>
        public static List<MenuItems> menusList { get; set; }
  /// <summary>
    /// 目录树节点类
    /// </summary>
    public class MenuItems
    {
        /// <summary>
        /// 节点名
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 包含的选择项内容
        /// </summary>
        public List<MenuItem> menuItemList { get; set; }
    }
 /// <summary>
    /// 目录树内容类
    /// </summary>
    public class MenuItem
    {
        /// <summary>
        /// 菜单名
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 所调用的类库命名空间
        /// </summary>
        public string moduleNameSpace { get; set; }
        /// <summary>
        /// 所调用的类库路径
        /// </summary>
        public string modulePath { get; set; }
        /// <summary>
        /// 类库所调用的配置文件路径
        /// </summary>
        public string configPath { get; set; }
    }

 

/// <summary>
        /// 从磁盘读取配置文件信息
        /// </summary>
        /// <param name="type"></param>
        /// <param name="txtFilePath">配置文件路径</param>
        /// <returns></returns>
          public static object ReadConfig<T>(T obj, string filePath)
          {

              StreamReader fileStream =new StreamReader( filePath);
              string  configtxt = fileStream.ReadToEnd();
              fileStream.Close();
              using (StringReader reader = new StringReader(configtxt))
               {
                   return new XmlSerializer(typeof(T)).Deserialize(reader);
               }
          }


最后调用

            PsyAdjust.Common.Module.Menu.menusList = PsyAdjust.Common.Module.ObjectConvert.ReadConfig(PsyAdjust.Common.Module.Menu.menusList, "Menue.xml") as List<PsyAdjust.Common.Module.Menu.MenuItems>;

 

 


 

 

转载于:https://www.cnblogs.com/shaomingrui/p/3556716.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值