<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ConnectionString" value="server=.;database=Test;uid=sa;pwd=123123" />
<add key="AccDB" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Test.mdb;Persist Security Info=True" />
<!--软件名称-->
<add key="ApplicationName" value="" />
<!--开发商名称-->
<add key="Manufacturer" value="" />
<!--是否自动更新-->
<add key="AutoUpdate" value="False" />
<!--初始化操作-->
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
</configuration>
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace Sunny.Net.MyForms.Core
{
public class AppConfig
{
private string filePath;
public string AppName => AppConfigGet("ApplicationName");
public string Manufacturer => AppConfigGet("Manufacturer");
public AppConfig()
{
//开发环境下与活动的配置文件路径不同
string path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).FilePath; //Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App.Config");
if (File.Exists(path))
{
filePath = path;
return;
}
throw new ArgumentNullException("没有找到Web.Config文件或者应用程序配置文件, 请指定配置文件");
}
public AppConfig(string configFilePath)
{
filePath = configFilePath;
}
public void AppConfigSet(string keyName, string keyValue)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(filePath);
XmlNodeList elementsByTagName = xmlDocument.GetElementsByTagName("add");
for (int i = 0; i < elementsByTagName.Count; i++)
{
XmlAttribute xmlAttribute = elementsByTagName[i].Attributes["key"];
if (xmlAttribute != null && xmlAttribute.Value == keyName)
{
xmlAttribute = elementsByTagName[i].Attributes["value"];
if (xmlAttribute != null)
{
xmlAttribute.Value = keyValue;
break;
}
}
}
xmlDocument.Save(filePath);
}
public string AppConfigGet(string keyName)
{
string result = string.Empty;
try
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(filePath);
XmlNodeList elementsByTagName = xmlDocument.GetElementsByTagName("add");
for (int i = 0; i < elementsByTagName.Count; i++)
{
XmlAttribute xmlAttribute = elementsByTagName[i].Attributes["key"];
if (xmlAttribute != null && xmlAttribute.Value == keyName)
{
xmlAttribute = elementsByTagName[i].Attributes["value"];
if (xmlAttribute != null)
{
result = xmlAttribute.Value;
break;
}
}
}
}
catch
{
}
return result;
}
public string GetSubValue(string keyName, string subKeyName)
{
string text = AppConfigGet(keyName).ToLower();
string[] array = text.Split(';');
for (int i = 0; i < array.Length; i++)
{
string text2 = array[i].ToLower();
if (text2.IndexOf(subKeyName.ToLower()) >= 0)
{
int num = array[i].IndexOf("=");
return array[i].Substring(num + 1);
}
}
return string.Empty;
}
}
}