static public MultimediaData DeserializeFromString(string xmlString) { MultimediaData data = new MultimediaData(); using (StringReader reader = new StringReader(xmlString)) { XPathDocument doc = new XPathDocument(reader); XPathNavigator nav = doc.CreateNavigator(); data.SourceFile = ReadElement(nav, @"//SourceFile"); data.TargetFile = ReadElement(nav, @"//TargetFile"); data.ProfileName = ReadElement(nav, @"//ProfileName"); data.ConversionSettings = Convert.FromBase64String(ReadElement(nav, @"//ConversionSettings")); } return(data); }
static public string SerializeToString(MultimediaData multimediaData) { XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement("MultimediaData"); doc.AppendChild(root); AddElement(doc, root, "SourceFile", multimediaData.SourceFile); AddElement(doc, root, "TargetFile", multimediaData.TargetFile); AddElement(doc, root, "ProfileName", multimediaData.ProfileName); AddElement(doc, root, "ConversionSettings", Convert.ToBase64String(multimediaData.ConversionSettings)); StringBuilder sb = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(sb)) { writer.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-16\" standalone=\"yes\""); doc.WriteTo(writer); writer.Flush(); writer.Close(); } return(sb.ToString()); }