Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 public void ExportDataToXml(ExportDataConfig exportDataConfig)
 {
     GenetateXML(exportDataConfig);
 }