/// <summary> /// Sort XML script file items. /// </summary> /// <param name="scriptFile">Script file path.</param> /// <param name="targetFilePath">Target file path.</param> private static void ExportSortedCleanXmlScriptFiles(XmlScriptFile scriptFile, string targetFilePath) { XmlScriptFile sortedCleanScriptFile = new XmlScriptFile(); sortedCleanScriptFile.Language = scriptFile.Language; sortedCleanScriptFile.Encoding = scriptFile.Encoding; SortedDictionary<string, ScriptItem> sortedItems = new SortedDictionary<string, ScriptItem>(); foreach (KeyValuePair<string, ScriptItem> pair in scriptFile.ItemDic) { sortedItems.Add(pair.Key, pair.Value); } foreach (KeyValuePair<string, ScriptItem> pair in sortedItems) { sortedCleanScriptFile.Items.Add(pair.Value); sortedCleanScriptFile.ItemDic.Add(pair.Key, pair.Value); } XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler(); controler.SaveComments = false; sortedCleanScriptFile.Save(targetFilePath, scriptFile.Encoding, controler); }
/// <summary> /// Load script. /// </summary> /// <param name="scriptPath">ScriptPath.</param> /// <param name="errorSet">ErrorSet.</param> private void LoadScript(string scriptPath, ErrorSet errorSet) { XmlScriptFile xmlScript = new XmlScriptFile(); XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler(); controler.LoadComments = _loadComments; xmlScript.Load(scriptPath, controler); if (_language == xmlScript.Language) { _xmlScriptFiles.Add(xmlScript); foreach (Error error in xmlScript.ErrorSet.Errors) { errorSet.Add(new Error(ScriptError.ScriptCollectionError, Path.GetFileName(scriptPath), error.ToString())); } } else { errorSet.Add(ScriptError.InvalidLanguage, Localor.LanguageToString(xmlScript.Language), Localor.LanguageToString(_language), Path.GetFileName(scriptPath)); } }
/// <summary> /// Save all script files. /// </summary> public void Save() { foreach (XmlScriptFile xmlScriptFile in _xmlScriptFiles) { XmlScriptFile.ContentControler controler = new XmlScriptFile.ContentControler(); controler.SaveComments = _loadComments; xmlScriptFile.Save(xmlScriptFile.FilePath, null, controler); } }