读取XML直接转换为类对象
2014-02-19 22:17
405 查看
<?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>;
相关文章推荐
- 实现Win7 完全自动登录系统
- dojo CsvStore简介
- IOS 运行时、ISA、动态、runtime。。。
- 图文讲解:iOS App提交流程
- Windows XP即将谢幕,windows对外企非管理员用户本来不算安全
- dojo CsvStore简介
- java基础数据类型包装类
- DataTable转Entity(Emit版)
- 读书笔记_Effective_C++_条款三十二:确定你的public继承继承塑模出is-a关系
- CodeChef Easy Draughts
- 线程安全集合
- php 5.2以上的ereg Deprecated: Function ereg() is deprecated in 使用pregmatch 正则解决的
- 如何将App程序发布到苹果App Store
- 项目过程中遇到的关于C的小问题
- 鼠标键盘全局HOOK
- javascript概述
- sort函数可以只对一个数排序
- eval
- Android多媒体开发 Pro Android Media 第一章 Android图像编程入门 3
- Making a Kite