using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; using Deltares.DamEngine.Io.XmlOutput; using Input = Deltares.DamEngine.Io.XmlInput.Input; namespace Deltares.DamEngine.Io { public static class DamXmlSerialization { /// /// Saves the input as XML. /// /// The filename. /// The input. public static void SaveInputAsXml(string filename, Input input) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(Input)); TextWriter writer = new StreamWriter(filename); xmlSerializer.Serialize(writer, input); writer.Close(); } /// /// Loads the input from XML. /// /// The filename. /// Input object public static Input LoadInputFromXml(string filename) { Input input; XmlSerializer xmlSerializer = new XmlSerializer(typeof(Input)); FileStream fs = new FileStream(filename, FileMode.Open); input = (Input)xmlSerializer.Deserialize(fs); return input; } /// /// Saves the output as XML. /// /// The filename. /// The output. public static void SaveOutputAsXml(string filename, Output output) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(Output)); TextWriter writer = new StreamWriter(filename); xmlSerializer.Serialize(writer, output); writer.Close(); } /// /// Loads the output from XML. /// /// The filename. /// Output object public static Output LoadOutputFromXml(string filename) { Output output; XmlSerializer xmlSerializer = new XmlSerializer(typeof(Output)); FileStream fs = new FileStream(filename, FileMode.Open); output = (Output)xmlSerializer.Deserialize(fs); return output; } } }