コード例 #1
0
        public void SaveFile(object sender, EventArgs e)
        {
            Forms.SaveFileDialog saveFileDialog = new Forms.SaveFileDialog();
            saveFileDialog.Filter = "XML File | *.xml";

            if (saveFileDialog.ShowDialog() == Forms.DialogResult.OK)
            {
                if (saveFileDialog.FileName != "")
                {
                    System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog.OpenFile();

                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.NewLineOnAttributes = true;
                    settings.Indent = true;
                    using (XmlWriter writer = XmlWriter.Create(fs, settings))
                    {
                        //make copies so that the graph can keep reading data without messing with what we're trying to save here
                        IList <ScatterPoint> savedTempReadings = new List <ScatterPoint>(tempReadings.ToArray());
                        IList <DataPoint>    savedAverageTemp  = new List <DataPoint>(averageTemp.ToArray());
                        IList <RSDPoint>     savedRSD          = new List <RSDPoint>(RSD.ToArray());

                        writer.WriteStartElement("TestResults");
                        for (int i = 0; i < savedTempReadings.Count(); i++)
                        {
                            writer.WriteStartElement("TestResult");
                            writer.WriteElementString("Timestamp", savedTempReadings[i].X.ToString());
                            writer.WriteElementString("Temperature", savedTempReadings[i].Y.ToString());
                            writer.WriteElementString("RollingAverage", savedAverageTemp[i].Y.ToString());
                            writer.WriteElementString("RollingStandardDeviation", savedRSD[i].Value.ToString());
                            writer.WriteEndElement();
                        }
                        writer.WriteEndElement();
                        writer.Flush();
                    }
                }
            }
        }