public static ApplicationConfigurationSettings FromFile(string filename)
{
ApplicationConfigurationSettings settings = new ApplicationConfigurationSettings();
using (StreamReader streamReader = new StreamReader(filename))
{
XDocument document = XDocument.Load(streamReader);
document.Root.Elements("setting").ToList().ForEach(element => settings._settings.Add(element.Attribute("key").Value, new ApplicationConfigurationSetting {
Key = element.Attribute("key").Value,
Value = element.Value,
IsSecret = element.Attribute("is-secret") != null && element.Attribute("is-secret").Value?.ToLower() == "true"
}));
return settings;
}
}