读取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>;
读取XML直接转换为类对象的更多相关文章
- 利用JSON将Map转换为类对象
Map类型做为一种常见的Java类型,经常在开发过程中使用,笔者最近遇到要将Map对象做为一种通用的参数变量,下传到多个业务类方法中,然后在各个业务类方法中将Map转换为指定类对象的情况.如何将Map ...
- 深入浅出Java Dom4j读取XML
在以前自己使用的xml较少,只是了解其很强大,现在可算是在DRP中,真正的开始使用它了,以前只是简单的理解xml,xml即可扩展标记语言,简单的使用,具体是什么?怎么用?还是一直让自己期待的. 首先来 ...
- 菜鸟学Java(八)——dom4j详解之读取XML文件
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...
- dom4j读取XML文件内容
<?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> <NO ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- 自己动手之使用反射和泛型,动态读取XML创建类实例并赋值
前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能 ...
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
转自:http://blog.csdn.net/zhao19861029/article/details/8473245 首先实现生成对应的JAVAbean的XML文件方法 /** * DMO4J写入 ...
- (转) 读取xml文件转成List<T>对象的两种方法
读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法,加上自己知道的另一种实现方法. 就以一个简单的xml做例子. xml格 ...
- 读取xml文件转成List<T>对象的两种方法(附源码)
读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法, ...
随机推荐
- Mysql中eft join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- 详解Java 8中Stream类型的“懒”加载
在进入正题之前,我们需要先引入Java 8中Stream类型的两个很重要的操作: 中间和终结操作(Intermediate and Terminal Operation) Stream类型有两种类型的 ...
- 【leetcode】LRU Cache
题目简述: Design and implement a data structure for Least Recently Used (LRU) cache. It should support t ...
- 【Hibernate框架】关联映射(一对一关联映射)
一.整理思路: 之前,小编总结过Mybatis的关联映射,接下来,再来总结一下hibernate的相关的关联映射,直接上图: 这张图,就是小编整理总结整个Hibernate的关联映射的一个大致思路. ...
- (转)论python工厂函数与内建函数
所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例. 工厂函数: int(),long(),float(),complex(),bool() str(),unic ...
- fmt 标签格式化 日期
<td class='center'> <fmt:formatDate value="${RecordMail.SendTime }" pattern=" ...
- 谈谈PHP代码规范
[转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...
- 【原】iOS学习之NSDate在项目中的一些类目扩展
在项目中,我们可能会面对各种各样的对于时间的需求,在这里提供几种可能会用到的需求代码 1.与今天的时间做比较,返回日期差值 代码: - (NSInteger)compareWithToday { NS ...
- MVC Razor视图引擎的入门
首先我们来说说他的给我们开发者带来那些好处吧: Razor语法易于输入,易于阅读,微软当时是这样定义的:简洁,富有表现力和灵活性,支持所有文本编辑器,强大的智能提示功能,单元测试. Rozor文件类型 ...
- js学习笔记之标准库
在全局函数中,this等于window 在函数被作为某个对象的方法调用时,this等于那个对象. 数组的函数: 检测:Array.isArray() 转换:toString(),toLocalStr ...