private static VersionManifest LoadData(string version, XmlDocument doc)
{
List<VersionManifestFile> files = new List<VersionManifestFile>();
foreach (XmlNode fileNode in doc.SelectNodes("manifest/files/file"))
{
string filename = fileNode.Attributes["name"].Value;
string checksum = fileNode.Attributes["checksum"].Value;
long size = long.Parse(fileNode.Attributes["size"].Value);
List<VersionManifestDeltaFile> deltas = new List<VersionManifestDeltaFile>();
foreach (XmlNode deltaNode in fileNode.SelectNodes("delta"))
{
string deltaFilename = deltaNode.Attributes["file"].Value;
string deltaChecksum = deltaNode.Attributes["from"].Value;
long deltaSize = long.Parse(deltaNode.Attributes["size"].Value);
deltas.Add(new VersionManifestDeltaFile(deltaFilename, deltaChecksum, deltaSize));
}
files.Add(new VersionManifestFile(filename, checksum, size, deltas));
}
return new VersionManifest(version, files);
}