// ---------------- Functions ---------------- /// <summary> /// Overwrites the given settings /// config with the settings specified in the passed in XML document. /// </summary> public static void LoadFromXml(this SqliteDatabaseConfig config, XmlNode parentNode) { if (parentNode.Name != DatabaseSettingsNodeName) { throw new XmlException( "Root XML node should be named \"" + DatabaseSettingsNodeName + "\". Got: " + parentNode.Name ); } foreach (XmlNode childNode in parentNode.ChildNodes) { switch (childNode.Name.ToLower()) { case "dblocation": config.DatabaseLocation = childNode.InnerText; break; case "guid": config.DatabaseId = Guid.Parse(childNode.InnerText); break; } } }
// ---------------- Functions ---------------- public IList <IDatabaseConfig> Load(AssetManagerSettings settings) { string filePath = Path.Combine( settings.AssetManagerSettingsDirectory, "sqlite", "SqliteConfig.xml" ); XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode rootNode = doc.DocumentElement; if (rootNode.Name != SettingsXmlElementName) { throw new XmlException( "Root XML node should be named \"" + SettingsXmlElementName + "\". Got: " + rootNode.Name ); } List <IDatabaseConfig> databaseConfigs = new List <IDatabaseConfig>(); foreach (XmlNode childNode in rootNode.ChildNodes) { switch (childNode.Name.ToLower()) { case XmlLoader.DatabaseSettingsNodeName: SqliteDatabaseConfig config = new SqliteDatabaseConfig(); config.LoadFromXml(childNode); databaseConfigs.Add(config); break; } } return(databaseConfigs); }