xml配置文件推荐方式
1.XML帮助类
/// <summary>/// Xml帮助类/// </summary>public class XmlHelper{/// <summary>/// 保存xml/// </summary>/// <typeparam name="T"></typeparam>/// <param name="path"></param>/// <param name="t"></param>public static void SaveXml<T>(string path, T t){StreamWriter writer = new StreamWriter(path);new XmlSerializer(typeof(T)).Serialize(writer, t);writer.Close();}/// <summary>/// 将文件转换成实体/// </summary>/// <typeparam name="T"></typeparam>/// <param name="file"></param>/// <returns></returns>public static T LoadXml<T>(string file){StreamReader reader = new StreamReader(file);object obj = new XmlSerializer(typeof(T)).Deserialize(reader);reader.Close();return (T)obj;}/// <summary>/// 将XML转换成实体/// </summary>/// <typeparam name="T"></typeparam>/// <param name="xml"></param>/// <returns></returns>public static T FromXml<T>(string xml){StringReader reader = new StringReader(xml);object obj = new XmlSerializer(typeof(T)).Deserialize(reader);reader.Close();return (T)obj;}/// <summary>/// 将实体对象转换为xml字符串/// </summary>/// <typeparam name="T"></typeparam>/// <param name="t"></param>/// <returns></returns>public static string ToXml<T>(T t){StringBuilder builder = new StringBuilder();StringWriter writer = new StringWriter(builder);new XmlSerializer(typeof(T)).Serialize(writer, t);writer.Close();return builder.ToString();}/// <summary>/// 将xml转换为实体对象/// </summary>/// <typeparam name="T"></typeparam>/// <param name="xmlPath">xml路径</param>/// <returns></returns>public static T LoadXmlFile<T>(string xmlPath) where T : class{if (!File.Exists(xmlPath)){return null;}XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));StreamReader streamReader = null;try{streamReader = new StreamReader(xmlPath);return (T)(xmlSerializer.Deserialize(streamReader));}catch{throw;}finally{if (null != streamReader){streamReader.Close();}}}}
2.配置范例
[XmlRoot("globalConfig")]public class GlobalConfiguration{[XmlElement("UnExportIndexCode")]public string UnExportIndexCode{get;set;}[XmlElement("FuturesRebarIndexCode")]public string FuturesRebarIndexCode{get;set;} }
3.配置范例
4.全局调用类
public class RuntimeConfiguration{private static readonly object SingleLock = new object();private static GlobalConfiguration instance_global;public static GlobalConfiguration Global{get{if (instance_global == null){lock (SingleLock){if (instance_global == null){instance_global = MySteel.Common.Helper.XmlHelper.LoadXml<GlobalConfiguration>(AppDomain.CurrentDomain.BaseDirectory + AppSettingsHelper.GetStringValue("GlobalConfig"));}}}return instance_global;}}}
转载于:https://www.cnblogs.com/jack-zeng/articles/6418202.html
xml配置文件推荐方式相关推荐
- [5] Spring中的AOP操作(使用xml 配置文件的方式)
AOP (Aspect Oriented Programing) 面向切面编程 AOP 采取横向抽取机制,取代了传统的纵向继承体系重复性代码(性能监视.事务管理.安全检查.缓存) Spring AOP ...
- Javaweb中web.xml配置文件编写方式
在建好项目和类过后如果需要访问浏览器需要配置web.xml文件,向浏览器提供一个访问入口 具体配置方法: 1.在<web-app>标签下编写配置文件 <web-app> < ...
- spring 中加载xml配置文件的方式
方法一: Resource res = new ClassPathResource("bean.xml"); BeanFactory fac = new XmlBeanFactor ...
- Spring中加载xml配置文件的六种方式
Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog 因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...
- Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)
DOM4J解析XML文件 dom4j是一个Java的XML API,是jdom的升级产品,用来读写XML文件.另外对比其他API读写XML文件,dom4j是一个十分优秀的JavaXML API,具有性 ...
- spring,springmvc,mybatis基本整合(一)--xml文件配置方式(1)
**这个整合.仅仅是最主要的整合,而且是xml配置文件的方式之中的一个,即当中的mybatis是採用非mapper接口的方式.(第二遍採用mapper接口方式.第三遍採用注解的方式:第四篇採用注解基于 ...
- spring加载xml配置文件
spring 中加载xml配置文件的方式 spring 中加载xml配置文件的方式,好像有3种, xml是最常见的spring 应用系统配置源. Spring中的几种容器都支持使用xml装配bean, ...
- Spring框架中XML配置文件注入集合(数组、LIST、MAP、SET)属性
Spring框架中XML配置文件注入集合属性 前言 创建测试类与属性 配置XML配置文件 建立调用类 调用结果 前言 某些类的属性是可能是集合,包括:数组.LIST.MAP.SET等集合,在Sprin ...
- Spring源码之Bean的注册(使用XML配置的方式)
本文分析的Spring源码是5.2.2版本,使用Gradle进行管理. 一.Bean的注册,先来看通过XML配置Bean的方式 1.配置applicationContext.xml: <?xml ...
最新文章
- 6月书讯 | 唠嗑也能学数学!
- mysql seq 重置_需要在Oracle中重置序列的值
- Java基础01 从HelloWorld到面向对象
- 计算机考试400,400作文:电脑考试
- 前端_JavaScript_Vue
- 企业网站 源码 e-mail_临汾网站制作,B2B软件哪家好
- Haproxy-1.5.x SSL配置
- form的get与post方式的区别(转)
- android6.0/7.0 dump CallStack使用
- Flex4.0判断摄像头是否被占用
- asp if 显示按钮_ASP.NET Core 3.1入门教程(二)
- python点云可视化
- 计算机显示器上有条纹,电脑屏幕出现条纹,教您电脑屏幕出现条纹怎么办
- css鼠标划过时的一些小特效
- jsoup抓取网页+详细讲解
- iPhone 手机修复屏幕划痕
- 毕业设计 stm32智能运动计步器 - 物联网 嵌入式 单片机
- 指针学习中二维数组解引用问题
- vim 查找替换操作命令
- 4.单片机之静态数码管和动态数码管
热门文章
- [C++ rudiment][转]typedef 使用
- JPDL3.1规范手册
- ITK读图VTK显示
- odps新手上路之安装Eclipse开发环境
- GIS实战应用案例100篇(十六)-CASS道路横断面线,如何折线变直线?
- dhtmlXGrid复选框点击事件
- 计算机ip地址未修复连接不了无线网络,本地连接没有有效的ip配置,教您修复本地连接没有有效的ip配置...
- html语言及语法结构,HTML语法结构.ppt
- 孙叫兽进阶之路之压力与绩效
- 我是如何使用git把本地代码上传到github上的,值得借鉴