private void Save(LangInfo info) { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; XmlWriter writer1 = XmlWriter.Create(info.Path, settings); XamlWriter.Save(info.Dictionary, writer1); }
public void SetInfo(List <LangInfo> lang, DataTable dataTable) { var list = ToDynamic(dataTable); foreach (DataColumn column in dataTable.Columns) { if (column.ColumnName == "Key") { continue; } var findlang = lang.FirstOrDefault(x => x.Name == column.ColumnName); if (findlang == null) { findlang = new LangInfo() { Name = column.ColumnName, Path = $"{Name}.xaml" }; lang.Add(findlang); } } var keylist = new List <string>(); foreach (DataRow row in dataTable.Rows) { foreach (var info in lang) { var key = row["Key"].ToString(); keylist.Add(key); info.Dictionary[key] = row[info.Name]; } } foreach (var info in lang) { var dickey = info.Dictionary.Keys.Cast <string>().ToList(); var difflist = dickey.Except(keylist); foreach (var key in difflist) { info.Dictionary.Remove(key); } } }