<?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. Struts中文件上传的一些规则...

    1.action中定义规范 如果jsp中file的name="xxx",那么后台action中的属性要做相应更改为 private File xxx; private String ...

  2. SSH ProxyCommand

    简单的说就是SSH层面的代理服务器,实现通过跳板机执行SSH相关命令到目标机器的代理服务.

  3. ORA-12638:身份证明检索失败

    本地Sqlplus 连一远程数据库,出现 ORA-12638: 身份证明检索失败,pl/sql developer 也是同样的问题,tnsping 是没有问题的. 找到本地的sqlnet.ora文件, ...

  4. css sprite css雪碧图生成工具

    最新地址:http://www.cnblogs.com/wang4517/p/4476758.html

  5. UWP 应用获取 Localhosts 访问权限

    这是一篇教程,写在 win10 版<量子破碎>发售近期. 主要原因:windows 商城的应用下载实在难以忍受...... so 尝试换一个下载环境(f&q)~ 然而使用 ss 并 ...

  6. MySLQ 为数据库远程授权的方法与问题的解决解决方法

    Mysql通过远程的连接工具连接,提示Can't connect to MySQL server (10060).  这个时候我们需要分析,看哪里设置不当而导致的该问题.   工具/原料 mysql数 ...

  7. Android 延时执行任务的三种简单方法

    开启一个新的线程 new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (Interrupted ...

  8. WebGL入门教程(一)-初识webgl

    一.WebGL和传统网页的区别: 普通网页组成成分:HTML.JavaScript: WebGL网页组成成分:HTML5.JavaScript和GLSL ES(着色器语言 OpenGL ES): 二. ...

  9. PHP环境搭建

    1.安装wampserver,安装成功后浏览器中输入:localhost可以打开下面的页面 2.想配置本机IP打开文件的话,单击wampserver-Apache-httped.conf,打开文件,修 ...

  10. 如何理解typedef void (*pfun)(void)

    问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那 ...