/// <summary> /// 把其他信息保存到 xml 中 /// </summary> /// <param name="xmlFileName"></param> /// <param name="tableName"></param> /// <param name="list"></param> private void Save(string xmlFileName, string tableName, List <VM_ColumnMetadata> list) { // 需要先读取之前的xml配置 string path = GetImportConfigXmlPath(xmlFileName); if (File.Exists(path)) { // 需要保留之前的配置信息 var tableConfigList = GetTableConfig(path); // 查找里面的table配置节点 var table = tableConfigList.FirstOrDefault(a => string.Compare(a.TableName, tableName, true) == 0); if (table == null) { table = GetTableMetadata(tableName, list); tableConfigList.Add(table); } table.Columns = AddCheckInfo(list); var el = new XElement("tables", tableConfigList.Select(a => a.ToXml())); el.Save(path); } else { VM_TableMetadata table = GetTableMetadata(tableName, list); var el = new XElement("tables", table.ToXml()); el.Save(path); } }
/// <summary> /// 得到 TableMetadata 元数据 /// </summary> /// <param name="tableName"></param> /// <param name="list"></param> /// <returns></returns> private VM_TableMetadata GetTableMetadata(string tableName, List <VM_ColumnMetadata> list) { AddCheckInfo(list); var table = new VM_TableMetadata(); table.TableName = tableName; table.Columns = list; return(table); }