以前vs03项目中用到一个类:读写config文件配置信息

None.gif using  System;
None.gif
using  System.Xml;
None.gif
using  System.IO;
None.gif
None.gif
namespace DataManager
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
ExpandedSubBlockStart.gifContractedSubBlock.gif    
/**//// <summary>
InBlock.gif    
/// 修改和读取上传属性的方法
ExpandedSubBlockEnd.gif    
/// </summary>

InBlock.gif    public class Config
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
private string fileName = "";
InBlock.gif        
private XmlDocument xmlDoc = new  XmlDocument();
InBlock.gif        
private XmlNode appnode = null;
InBlock.gif
InBlock.gif        
public Config(string filePath)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{    
InBlock.gif            fileName 
= filePath;
InBlock.gif            
InBlock.gif            xmlDoc.Load(fileName);
InBlock.gif            XmlElement root 
= xmlDoc.DocumentElement;
InBlock.gif            
InBlock.gif            
for(int i = 0; i < root.ChildNodes.Count; i++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if(root.ChildNodes[i].Name.ToLower() == "appsettings")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    appnode 
= root.ChildNodes[i];
InBlock.gif                    
break;
ExpandedSubBlockEnd.gif                }
                
ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
写 void SetConfig(string key, string Value)#region 写 void SetConfig(string key, string Value)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//// <summary>
InBlock.gif        
/// 写
InBlock.gif        
/// </summary>
InBlock.gif        
/// <param name="key"></param>
ExpandedSubBlockEnd.gif        
/// <param name="Value"></param>

InBlock.gif        public void SetConfig(string key, string Value)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{    
InBlock.gif            
bool blnFound = false;
InBlock.gif            key 
= key.ToLower();
InBlock.gif            
foreach(XmlNode node in appnode.ChildNodes)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{    
InBlock.gif                
if(node.Name.ToLower() == "add")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
if(node.Attributes.GetNamedItem("key").Value.ToLower() == key)
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        node.Attributes.GetNamedItem(
"value").Value = Value;
InBlock.gif                        blnFound 
= true;
InBlock.gif                        
break;
ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }
                    
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            
if(!blnFound)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                XmlNode childnode 
= xmlDoc.CreateNode(XmlNodeType.Element, "add","");
InBlock.gif
InBlock.gif                XmlAttribute attr ;
InBlock.gif                
InBlock.gif                attr 
= xmlDoc.CreateAttribute("key");
InBlock.gif                attr.Value 
= key;
InBlock.gif                childnode.Attributes.Append(attr);
InBlock.gif
InBlock.gif                attr 
= xmlDoc.CreateAttribute("value");
InBlock.gif                attr.Value 
= Value;
InBlock.gif                childnode.Attributes.Append(attr);
InBlock.gif
InBlock.gif                appnode.AppendChild(childnode);
ExpandedSubBlockEnd.gif            }

InBlock.gif            xmlDoc.Save(fileName);
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion
 
InBlock.gif
ContractedSubBlock.gifExpandedSubBlockStart.gif        
读string GetConfig(string key)#region 读string GetConfig(string key)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
/**//// <summary>
InBlock.gif        
/// 读
InBlock.gif        
/// </summary>
ExpandedSubBlockEnd.gif        
/// <param name="key"></param>

InBlock.gif        public string GetConfig(string key)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
string noteValue = "";
InBlock.gif            key 
= key.ToLower();
InBlock.gif            
foreach(XmlNode node in appnode.ChildNodes)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{    
InBlock.gif                
if(node.Name.ToLower() == "add")
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
if(node.Attributes.GetNamedItem("key").Value.ToLower() == key)
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        noteValue 
= node.Attributes.GetNamedItem("value").Value;
InBlock.gif                        
break;
ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }
                    
ExpandedSubBlockEnd.gif            }

InBlock.gif            
return noteValue;
ExpandedSubBlockEnd.gif        }

ExpandedSubBlockEnd.gif        
#endregion

ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}

None.gif
对应的config文件为:
None.gif <? xml version = " 1.0 "  encoding = " utf-8 "   ?>
None.gif
< configuration >
None.gif    
< appSettings >         
None.gif        
< add key = " key1 "  value = " 1 " />
None.gif        
< add key = " key2 "  value = " 0 " />
None.gif    
</ appSettings >   
None.gif
</ configuration >
None.gif
应用示例如下:
None.gif Config cf  =   new  Config(Application.ExecutablePath  +   " .config " );
None.gif
None.gif
string  key1Value  =  cf.GetConfig( " key1 " ); //get
None.gif
key1Value  +=   " key1 has been Edited " ;
None.gifcf.SetConfig(
" key1 " , key1Value); //set

现在VS2005当然也可以用,不过05提供了更好的读写方法~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值