Example #1
0
        static void Main(string[] args)
        {
            var cmiXmlPath      = args[0];                                                             // @"Z:\MSaravi\MIMS-Sample\CMI\CMIxml20170100\CMIxml";
            var outputPath      = args[1];                                                             //@"Z:\MSaravi\MIMS-Sample\CMI\output.csv"
            var xmiXmlExtension = @System.Configuration.ConfigurationManager.AppSettings["fileType"];  // "*.xml";
            var separator       = @System.Configuration.ConfigurationManager.AppSettings["separator"]; // "*.xml";
            var enclose         = @System.Configuration.ConfigurationManager.AppSettings["enclose"];   // "*.xml";
            var newLine         = @System.Configuration.ConfigurationManager.AppSettings["newLine"];   // "*.xml";
            var schema          = GetSchema();
            var _CsvGenerator   = new CsvGenerator(outputPath, schema, separator, enclose, newLine);
            var fileNames       = System.IO.Directory.EnumerateFiles(cmiXmlPath, xmiXmlExtension).ToList();
            var progress        = 0.0;
            var total           = (double)fileNames.Count;

            _CsvGenerator.AddHeader();
            foreach (string fileName in fileNames)
            {
                string xmlFileContents        = File.ReadAllText(fileName);
                var    cmiCode                = GetCmiCodeFromFileName(fileName);
                var    escapedXmlFileContents = System.Security.SecurityElement.Escape(xmlFileContents);
                _CsvGenerator.AddRecord(new string[] { cmiCode, xmlFileContents, escapedXmlFileContents });
                Console.WriteLine(cmiCode + " finished, %" + Math.Round(progress * 100 / total, 1).ToString());
                progress++;
            }
            _CsvGenerator.End();
        }