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;
}
}
}