<?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>;
 

读取XML直接转换为类对象的更多相关文章

  1. 利用JSON将Map转换为类对象

    Map类型做为一种常见的Java类型,经常在开发过程中使用,笔者最近遇到要将Map对象做为一种通用的参数变量,下传到多个业务类方法中,然后在各个业务类方法中将Map转换为指定类对象的情况.如何将Map ...

  2. 深入浅出Java Dom4j读取XML

    在以前自己使用的xml较少,只是了解其很强大,现在可算是在DRP中,真正的开始使用它了,以前只是简单的理解xml,xml即可扩展标记语言,简单的使用,具体是什么?怎么用?还是一直让自己期待的. 首先来 ...

  3. 菜鸟学Java(八)——dom4j详解之读取XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

  4. dom4j读取XML文件内容

    <?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> <NO ...

  5. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  6. 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

    前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...

  7. 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合

    转自:http://blog.csdn.net/zhao19861029/article/details/8473245 首先实现生成对应的JAVAbean的XML文件方法 /** * DMO4J写入 ...

  8. (转) 读取xml文件转成List<T>对象的两种方法

    读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法,加上自己知道的另一种实现方法. 就以一个简单的xml做例子. xml格 ...

  9. 读取xml文件转成List<T>对象的两种方法(附源码)

    读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法, ...

随机推荐

  1. Mysql中eft join、right join、inner join的区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  2. 详解Java 8中Stream类型的“懒”加载

    在进入正题之前,我们需要先引入Java 8中Stream类型的两个很重要的操作: 中间和终结操作(Intermediate and Terminal Operation) Stream类型有两种类型的 ...

  3. 【leetcode】LRU Cache

    题目简述: Design and implement a data structure for Least Recently Used (LRU) cache. It should support t ...

  4. 【Hibernate框架】关联映射(一对一关联映射)

    一.整理思路: 之前,小编总结过Mybatis的关联映射,接下来,再来总结一下hibernate的相关的关联映射,直接上图: 这张图,就是小编整理总结整个Hibernate的关联映射的一个大致思路. ...

  5. (转)论python工厂函数与内建函数

    所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例.   工厂函数: int(),long(),float(),complex(),bool() str(),unic ...

  6. fmt 标签格式化 日期

    <td class='center'> <fmt:formatDate value="${RecordMail.SendTime }" pattern=" ...

  7. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...

  8. 【原】iOS学习之NSDate在项目中的一些类目扩展

    在项目中,我们可能会面对各种各样的对于时间的需求,在这里提供几种可能会用到的需求代码 1.与今天的时间做比较,返回日期差值 代码: - (NSInteger)compareWithToday { NS ...

  9. MVC Razor视图引擎的入门

    首先我们来说说他的给我们开发者带来那些好处吧: Razor语法易于输入,易于阅读,微软当时是这样定义的:简洁,富有表现力和灵活性,支持所有文本编辑器,强大的智能提示功能,单元测试. Rozor文件类型 ...

  10. js学习笔记之标准库

    在全局函数中,this等于window  在函数被作为某个对象的方法调用时,this等于那个对象. 数组的函数: 检测:Array.isArray() 转换:toString(),toLocalStr ...