2010-11-23 6 views
1

ceci est mon fichier xml ...modifier fichier Xml en utilisant C#

->

<!--Daily Genarated File Path--> 
<add key="DailyFilName" value="C:\DailySummary.xls"/> 
<!--Weekly Genarated File Path--> 
<add key="WeeklyFilName" value="C:\WeeklySummary.xls"/> 
<!--Log File Path--> 
<add key="LogFilName" value="c:\\TranmittalsLog.txt"/> 

J'ai besoin de modifier mon DailyFilName par C#. En utilisant la clé j'ai besoin de changer la valeur.

+0

est ce fichier App.config? – Shekhar

Répondre

3

Selon le type de fichier, il existe un certain nombre d'options que vous pouvez utiliser. S'il s'agit d'un fichier XML standard, il existe des classes .NET intégrées, telles que XmlReader, XmlWriter et XPathNavigator. Exemples disponibles sur MSDN.

S'il s'agit d'un fichier app.config, vous pouvez utiliser l'espace de noms Configuration pour travailler directement avec le fichier sans avoir besoin de lire/écrire manuellement le fichier Xml. Découvrez la classe ConfigurationManager sur MSDN pour quelques exemples.

1

[NOTE:. Si vous essayez de manipuler la section appSettings dans app.config ou web.config, l'utilisation de ConfigurationManager est recommandé] Vous pouvez faire quelque chose comme

ceci:

private void SetValue(String key, String value) 
    { 
     XDocument doc = XDocument.Load("..."); 
     XElement element = doc.Descendants("add").Where(d => d.Attribute("key") != null && d.Attribute("key").Value == key).First(); 
     element.Attribute("value").Value = value; 
    } 

utilisation

SetValue("DailyFilName", "..."); 
0
private void SetValue(string xmlFilePath, string key, string value) 
{ 
    try 
    { 
     XDocument doc = XDocument.Load(xmlFilePath); 
     XElement element = doc.Descendants("add").Where(d => d.Attribute("key") != null && d.Attribute("key").Value == key).First(); 
     element.Attribute("value").Value = value; 
     doc.Save(xmlFilePath); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
1

Je pense que vous voulez si vous travaillez avec une application. fichier de configuration

ExeConfigurationFileMap map = new ExeConfigurationFileMap { ExeConfigFilename = "C:\\App.config"}; 

Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None); 

config.AppSettings.Settings["SettingKey1"].Value = "newValue"; 
config.Save(); 
Questions connexes