读取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>对象的方法, ...
随机推荐
- zookeeper3.3.6 伪分布式安装
下载地址(http://zookeeper.apache.org/releases.html#download) 一:下载zookeeper的安装包,解压,进入到zk的目录文件,进入conf目录 ...
- Node的express框架安装
第一步:在cmd命令行下执行npm install -g express,安装全局的express. 第二步:在命令行中输入express,如果出现express不是内部命令时, 输入npm inst ...
- UILabel 设置行间距
UILabel *label1 = [[UILabel alloc]initWithFrame:frame]; label1.numberOfLines = 0; [self.view addSubv ...
- 动画系统(Mecanim补充)
设置状态机部分等在实践中总结. 状态机基础: 动画层 Animation Layers Unity 使用"动画层"来管理身体不同部分的复杂状态机. 动画状态机 Animati ...
- php抽奖代码
1.经典概率算法抽奖 $tmpItems = ['电脑'=>10, '相机'=>50, '100元现金'=>500]; $proSum = array_sum($tmpItems); ...
- Java基础学习(四)
流程控制 /* 控制流程语句之---if 判断语句 格式一: 只适用于一种情况下去使用. if(判断条件){ 符合条件执行的代码; } 格式二:适用于两种情况下去使用 if(判断条件){ 符合条件执行 ...
- Android-Gallery[使用C# And Java实现]
运行效果 C#实现 using Android.App; using Android.OS; using Android.Widget; namespace ImageDemo { [Activity ...
- LWIP总结
介绍 Lwip,light weight IP:是由Adam Dunkels 开发的一个小型开源的TCP/IP协议栈:目前已经为全球共同开发的开源协议:支持TCPIP协议族的核心协议:包括:ARP/I ...
- OpenCv遍历图像小结
参考:http://www.cnblogs.com/ronny/p/opencv_road_2.html http://blog.csdn.net/xiaowei_cqu/article/detail ...
- 限制input只能输入金额(类似:100.00|100.9|100)
$(".inputmoney").keyup(function () { var reg = $(this).val().match(/\d+\.?\d{0,2}/); ...