1. 程式人生 > >C# 配置文件Xml讀寫

C# 配置文件Xml讀寫

forms adf splay 數據 star art void em1 ica

分析xxx.exe.config文件:

技術分享圖片
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3   <startup>
 4     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 5   </startup>
 6   <system.web>
 7     <membership defaultProvider="ClientAuthenticationMembershipProvider
"> 8 <providers> 9 <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" /> 10 </providers> 11
</membership> 12 <roleManager defaultProvider="ClientRoleProvider" enabled="true"> 13 <providers> 14 <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
" serviceUri="" cacheTimeout="86400" /> 15 </providers> 16 </roleManager> 17 </system.web> 18 </configuration>
View Code

在startup標簽後添加:

技術分享圖片
1   <appSettings>
2     <!--版本號-->
3     <add key="version" value="0.1" />
4   </appSettings>
View Code

讀取config文件:

技術分享圖片
 1         /// <summary>
 2         /// 讀取配置文件
 3         /// </summary>
 4         /// <param name="appKey">讀取的鍵值</param> 
 5 public static string GetConfigValue(string appKey)
 6         {
 7             XmlDocument xDoc = new XmlDocument();
 8             try
 9             {
10                 //讀取xxx.exe.config
11 xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
12                 System.Xml.XmlNode xNode;
13                 System.Xml.XmlElement xElem;
14 //獲取節點appSettings
15                 xNode = xDoc.SelectSingleNode("//appSettings");
16 //獲取對應的鍵值返回
17                 xElem = (System.Xml.XmlElement)xNode.SelectSingleNode("//add[@key=‘" + appKey + "‘]");
18                 if (xElem != null)
19                     return xElem.GetAttribute("value");
20                 else
21                     return "";
22             }
23             catch
24             {
25                 return "";
26             }
27         }
View Code

寫入config文件:

技術分享圖片
 1 /// <summary>
 2 /// 寫入配置文件
 3 /// </summary>
 4 /// <param name="appKey">寫入的鍵</param> 
 5 /// <param name="AppValue">寫入的值</param> 
 6         public static void SetConfigValue(string AppKey, string AppValue)
 7         {
 8             XmlDocument xDoc = new XmlDocument();
 9             //讀取xxx.exe.config
10             xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
11 
12             XmlNode xNode;
13             XmlElement xElem1;
14             XmlElement xElem2;
15             //獲取節點appSettings
16             xNode = xDoc.SelectSingleNode("//appSettings");
17             //獲取對應的鍵
18             xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key=‘" + AppKey + "‘]");
19             //鍵存在則寫入新值
20             if (xElem1 != null) xElem1.SetAttribute("value", AppValue);
21             else
22             {
23                 //不存在則添加新鍵寫入新值
24                 xElem2 = xDoc.CreateElement("add");
25                 xElem2.SetAttribute("key", AppKey);
26                 xElem2.SetAttribute("value", AppValue);
27                 xNode.AppendChild(xElem2);
28             }
29             //保存xxx.exe.config
30             xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
31         }
View Code

同理可寫入多條需配置的數據,如記住用戶名密碼:

技術分享圖片
 1 <configuration>
 2   <startup>
 3     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
 4   </startup>
 5   <appSettings>
 6     <!--版本號-->
 7     <add key="version" value="9.9" />
 8     <!--登錄參數--用戶名>
 9     <add key="username" value="fanhuai" />
10     <!--登錄參數--密碼>
11     <add key="userpwd" value="666666" />
12   </appSettings>
13   <system.web>
14     <membership defaultProvider="ClientAuthenticationMembershipProvider">
15       <providers>
16         <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
17       </providers>
18     </membership>
19     <roleManager defaultProvider="ClientRoleProvider" enabled="true">
20       <providers>
21         <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
22       </providers>
23     </roleManager>
24   </system.web>
25 </configuration>
View Code

C# 配置文件Xml讀寫