using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.FileProviders;

using System.IO;

方法:

/// <summary>
/// json配置文件读取
/// </summary>
/// <param name="configFileName"></param>
/// <param name="basePath"></param>
/// <returns></returns>
public static IConfigurationRoot GetJsonConfig(
string configFileName = "appsettings.json",
string basePath = "")
{
basePath = string.IsNullOrWhiteSpace(basePath) ? Directory.GetCurrentDirectory() : basePath;

var builder = new ConfigurationBuilder().
SetBasePath(basePath).
AddJsonFile(configFileName);
return builder.Build();
}

/// <summary>
/// xml配置文件读取
/// </summary>
/// <param name="configFileName"></param>
/// <param name="basePath"></param>
/// <returns></returns>
public static IConfigurationRoot GetXmlConfig(
string configFileName = "abc.config",
string basePath = "")
{
basePath = string.IsNullOrWhiteSpace(basePath) ? Directory.GetCurrentDirectory() : basePath;

var builder = new ConfigurationBuilder().
//SetBasePath(basePath).
AddXmlFile(b =>
{
b.Path = configFileName;
b.FileProvider = new PhysicalFileProvider(basePath);
});
return builder.Build();
}

调用:

var a = configXml.GetSection("Remotely:file:value").Value;

(Path)路径规则:"Remotely:file:value" 这串是路径path          用父子用:分开

例子

<?xml version="1.0" encoding="utf-8" ?>

<abc>

<Remotely>
    <file value="https://baidu.com" />
</Remotely>

</abc>

最新文章

  1. php二维数组的取值与转换
  2. Django model &#39;__week_day&#39;与python datetime的weekday()
  3. rpm软件包管理
  4. [AHOI2013]立方体(三维bit)
  5. Primitive Objects
  6. 模仿京东顶部搜索条效果制作的一个小demo
  7. dedecms导航
  8. 【高精度】NCPC 2014 C catalansqure
  9. 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通
  10. C#基础 Dictionary存储自定义对象作为键值
  11. Windows Server 2016-Powershell新建用户补充
  12. 2018-2019 20165235 网络对抗技术 Exp0:kali的安装
  13. 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置
  14. 线程 线程池 Task
  15. gradle 的jar下载到哪里了
  16. Kolmogorov–Smirnov test(KS)
  17. Sigmoid函数简介
  18. 根据iPhone6设计稿动态计算rem值
  19. 【读书笔记】iOS-iOS的持续集成
  20. Hibernate api 之常见的类(配置类,会话工厂类,会话类)

热门文章

  1. Linux三剑客日志处理系列
  2. 明解STM32—GPIO理论基础知识篇之基本结构
  3. Docker安装SqlServer、Mysql、MariaDB
  4. Ubuntu vmware共享文件夹自动挂载
  5. ROS入门:话题
  6. day13-自定义拦截器
  7. JDK、JRE、JVM三者之间的关系
  8. 跳板攻击之:frp代理转发
  9. 取出每个分组的的第一条数据sql
  10. Wpf Border圆角 设置不成功