public static void SaveTo(string filePath)
{
using (XmlWriter writer = XmlWriter.Create(filePath, new XmlWriterSettings {Indent = true}))
{
writer.WriteStartDocument();
writer.WriteStartElement("Proteases");
foreach (var protease in Proteases.Values.Distinct())
{
writer.WriteStartElement("Protease");
writer.WriteAttributeString("name", protease.Name);
writer.WriteAttributeString("terminus", protease.Terminal.ToString());
if (!string.IsNullOrEmpty(protease.Cut))
{
writer.WriteAttributeString("cut", protease.Cut);
}
if (!string.IsNullOrEmpty(protease.NoCut))
{
writer.WriteAttributeString("nocut", protease.NoCut);
}
writer.WriteEndElement();
}
writer.WriteEndElement(); // end Proteases
writer.WriteEndDocument();
}
}