/// <summary> /// Reads template data from given XML /// </summary> /// <param name="xmlAccess">object providing access to an XML file</param> public bool ReadFromXML(IXMLAccess xmlAccess) { Parts.Clear(); try { XElement xmlData = xmlAccess.ReadXMLData(); Name = xmlData.Attribute(Constants.TemplateXML_Name).Value; FilePattern = xmlData.Attribute(Constants.TemplateXML_FilePattern)?.Value ?? ""; XElement xmlDataConverters = xmlData.Element(Constants.TemplateXML_Converters); if (xmlDataConverters != null) { foreach (XElement elementConverter in xmlDataConverters.Elements()) { ParseConverter(elementConverter); } } XElement xmlDataTemplate = xmlData.Element(Constants.TemplateXML_Template); foreach (XElement element in xmlDataTemplate.Elements()) { ParsePart(element, Parts); } return(true); } catch (Exception) { return(false); } }
/// <summary> /// Saves the template to XML /// </summary> /// <param name="xmlAccess">object providing access to an XML file</param> /// <returns>true, if saving successful</returns> public bool SaveToXML(IXMLAccess xmlAccess) { XElement xmlData = new XElement(Constants.TemplateXML_Root); xmlData.Add(new XAttribute(Constants.TemplateXML_Name, Name)); xmlData.Add(new XAttribute(Constants.TemplateXML_FilePattern, FilePattern)); xmlData.Add(CreateXML_Template()); xmlData.Add(CreateXML_Converters()); try { xmlAccess.WriteXMLData(xmlData); return(true); } catch { return(false); } }