public void SaveToFile(string filename)
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
using (XmlWriter xml = XmlWriter.Create(filename, settings))
{
xml.WriteStartElement("manifest");
xml.WriteStartElement("files");
foreach (var file in Files)
{
xml.WriteStartElement("file");
xml.WriteAttributeString("name", file.Name);
xml.WriteAttributeString("checksum", file.Checksum);
xml.WriteAttributeString("size", file.Size.ToString());
foreach (var delta in file.Deltas)
{
xml.WriteStartElement("delta");
xml.WriteAttributeString("from", delta.Checksum);
xml.WriteAttributeString("size", delta.Size.ToString());
xml.WriteAttributeString("file", delta.Filename);
xml.WriteEndElement();
}
xml.WriteEndElement();
}
xml.WriteEndElement();
xml.WriteEndElement();
}
}