Exemplo n.º 1
0
        /// <summary>
        /// Speichert den aktuellen Zustand der nodeSteuerung und timelineSteuerung in die XML-Datei filename
        /// </summary>
        /// <param name="filename">Dateiname der zu speichernden Datei</param>
        /// <param name="nodeSteuerung">NodeSteuerung</param>
        /// <param name="timelineSteuerung">TimelineSteuerung</param>
        /// <param name="trafficVolumeSteuerung">VerkehrSteuerung</param>
        /// <param name="ps">ProgramSettings</param>
        public static void SaveToFile(string filename, NodeSteuerung nodeSteuerung, TimelineSteuerung timelineSteuerung, Verkehr.VerkehrSteuerung trafficVolumeSteuerung, ProgramSettings ps)
        {
            try
                {
                // erstma nen XMLWriter machen
                XmlWriterSettings xws = new XmlWriterSettings();
                xws.Indent = true;
                xws.NewLineHandling = NewLineHandling.Entitize;

                XmlWriter xw = XmlWriter.Create(filename, xws);

                // leeren XmlSerializerNamespaces Namespace erstellen
                XmlSerializerNamespaces xsn = new XmlSerializerNamespaces();
                xsn.Add("", "");

                xw.WriteStartElement("CityTrafficSimulator");

                    // write saveVersion
                    xw.WriteStartAttribute("saveVersion");
                    xw.WriteString("8");
                    xw.WriteEndAttribute();

                    // serialize program settings
                    XmlSerializer xsPS = new XmlSerializer(typeof(ProgramSettings));
                    xsPS.Serialize(xw, ps, xsn);

                    nodeSteuerung.SaveToFile(xw, xsn);
                    timelineSteuerung.SaveToFile(xw, xsn);
                    trafficVolumeSteuerung.SaveToFile(xw, xsn);

                xw.WriteEndElement();

                xw.Close();

                }
            catch (IOException e)
                {
                MessageBox.Show(e.Message);
                throw;
                }
        }