Salut J'ai la classe suivante qui donne accès à un fichier xml:Mise à jour d'un fichier XML à partir des champs de formulaire en C# .net
public class AppConfig
{
public string AppConfigPath = "~/admin.config.xml";
XmlDocument SiteConfig = new XmlDocument();
public string getAppConfigParam(string param)
{
SiteConfig.Load(HttpContext.Current.Server.MapPath(AppConfigPath));
string reqParam = SiteConfig.SelectSingleNode("//cmsAppConfig")[param].InnerText;
return reqParam;
}
public void setAppConfigParam(string paramTitle, string paramValue)
{
SiteConfig.Load(HttpContext.Current.Server.MapPath(AppConfigPath));
XmlNodeList ConfigNodes = SiteConfig.SelectSingleNode("//cmsAppConfig").ChildNodes;
foreach (XmlNode node in ConfigNodes)
{
if (node.Name == paramTitle)
{
node.InnerText = paramValue;
}
}
SiteConfig.Save(HttpContext.Current.Server.MapPath(AppConfigPath));
HttpContext.Current.Response.Redirect(HttpContext.Current.Request.RawUrl);
}
}
J'utilise la classe dans l'événement suivant pour mettre à jour certains paramètres de l'application, mais seul le premier noeud qui est le globalskin est mis à jour.
protected void btnSaveAppConfig_Click(object sender, EventArgs e)
{
if (IsValid) {
AppConfig myAppConfig = new AppConfig();
myAppConfig.setAppConfigParam("globalskin", drpAppTheme.SelectedValue.ToString());
myAppConfig.setAppConfigParam("homefeedsurl", txtNewsFeedUrl.Text.Trim());
myAppConfig.setAppConfigParam("homefeedstitle", txtNewsFeedTitle.Text.Trim());
}
}
Quels changements dois-je faire pour apporter la modification à tous les champs? Merci pour votre temps.
L'état de docs "La méthode Initialize doit être appelée avant que cette méthode puisse être utilisée." ... l'avez-vous fait? http://msdn.microsoft.com/en-us/library/ee784825(v=CS.20).aspx –