using DTS.Common.Import.Interfaces; using DTS.Common.Interface; using System; using System.Collections.Generic; using System.Xml; namespace DTS.Common.Import.XML { public class XMLParseGlobalSettings : XMLParseBase { public XMLParseGlobalSettings(XmlElement root, double importedVersion, Func isCancelled = null) : base(root, importedVersion, isCancelled) { } public IImportNotification ImportNotification { get; set; } public override void Parse(ref ImportObject importObject) { importObject.AssignGlobalSettings(ParseGlobalSettings(_root)); } private Dictionary ParseGlobalSettings(XmlElement root) { Dictionary settings = new Dictionary(); foreach (var child in root.ChildNodes) { if (IsCancelled()) { return settings; } if (child is XmlElement) { GetGlobalSetting(child as XmlElement, ref settings); } } return settings; } private void GetGlobalSetting(XmlElement node, ref Dictionary settings) { string sName = "", sValue = ""; foreach (var child in node.ChildNodes) { if (child is XmlElement) { var childNode = child as XmlElement; switch (childNode.Name) { case "SettingName": sName = childNode.InnerText; break; case "SettingValue": sValue = childNode.InnerText; break; } } } if (!string.IsNullOrWhiteSpace(sName)) { settings[sName] = sValue; } } } }