Exemple #1
0
        private static void SaveEvents(EventsHelper events)
        {
            var xmlPath = options.Log == "d" ? System.IO.Path.Combine(AppContext.BaseDirectory, "uMatrix-" + DateTimeOffset.Now.ToString("yyyy-MM-dd") + ".xml") : options.Log;

            using (XmlWriter xmlWriter = XmlWriter.Create(xmlPath, new XmlWriterSettings {
                Indent = true
            }))
            {
                xmlWriter.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"styles.xsl\"");
                new XmlSerializer(events.GetType(), new[] { typeof(MergeEventArgs), typeof(DedupRuleEventArgs) }).Serialize(xmlWriter, events);
            }

            var assembly = System.Reflection.Assembly.GetExecutingAssembly();

            using (var resource = assembly.GetManifestResourceStream(assembly.GetName().Name + ".styles.xsl"))
            {
                using (var file = new FileStream(Path.Combine(Path.GetDirectoryName(xmlPath), "styles.xsl"), FileMode.Create, FileAccess.Write))
                {
                    resource.CopyTo(file);
                }
            }
        }