private void GenetateXML(ExportDataConfig exportDataConfig) { using (Stream stream = File.Open(exportDataConfig.SaveFilePath, FileMode.OpenOrCreate)) { XDocument xDoc = new XDocument(); //创建一个根节点,定义节点名字DataBase XElement xRoot = new XElement("DataBase"); //加载到XML文档 xDoc.Add(xRoot); foreach (var item in exportDataConfig.ToBeExportedTableModelList) { string tableName = item.TableName; var needFilterFieldList = item.NeedFilterFieldList; var needQueryFieldList = GetNeedQueryFieldList(tableName, needFilterFieldList); //添加节点 XElement XEleTable = new XElement("Table"); xRoot.Add(XEleTable); //添加一个属性值, XAttribute xTableName = new XAttribute("tableName", tableName); XEleTable.Add(xTableName); XElement XEleFields = new XElement("Fields"); XEleTable.Add(XEleFields); AddFieldNodeListToFieldsNode(XEleFields, tableName, needFilterFieldList); XElement XEleConfig = new XElement("Config"); XEleTable.Add(XEleConfig); XElement XEleFieldOrder = new XElement("FieldOrder", string.Join(",", needQueryFieldList)); XEleConfig.Add(XEleFieldOrder); #region 增加数据行节点 AddDataRowListToXMLNode(XEleTable, tableName, needFilterFieldList); #endregion } //保存文档 xDoc.Save(stream); } }
public void ExportDataToXml(ExportDataConfig exportDataConfig) { GenetateXML(exportDataConfig); }