public void ReadWaveformData(string filename) { XmlSerializer serializer = new XmlSerializer(typeof(WaveformData)); serializer.UnknownNode += new XmlNodeEventHandler(SerializationHelper.UnknownNode); serializer.UnknownAttribute += new XmlAttributeEventHandler(SerializationHelper.UnknownAttribute); FileStream fs = new FileStream(filename, FileMode.Open); WaveformData wfd = (WaveformData)serializer.Deserialize(fs); // populate our waveform dictionary foreach (Waveform wf in wfd.Waveforms) { string[] data = wf.Data.Split(COMMA_SEPARATOR); wf.DataPoints = Array.CreateInstance(typeof(Double), data.Length) as double[]; int size = 0; double result; foreach (string point in data) { if (Double.TryParse(point, out result)) { wf.DataPoints[size++] = result; } } _waveforms.Add(wf.Name, wf); } }
public void CreateWaveformData(string filename) { // Creates an instance of the XmlSerializer class; // specifies the type of object to serialize. XmlSerializer serializer = new XmlSerializer(typeof(WaveformData)); TextWriter writer = new StreamWriter(filename); WaveformData wfd = new WaveformData(); // Creates an address to ship and bill to. Waveform wf = new Waveform(); wf.Name = "ECG"; wf.Data = "0.0,1.0,5.0,0.0,3.0,1.0,5.0,5.0,0.0,1.0"; wfd.Waveforms = new Waveform[] { wf }; // Serializes the waveform data, and closes the TextWriter. serializer.Serialize(writer, wfd); writer.Close(); }