def __serialize_to_xml__(iaddin_custom_frame_instance, file_full_name): done = False try: sb = StringBuilder() xml_writer_settings = XmlWriterSettings() xml_writer_settings.Indent = True xml_writer_settings.ConformanceLevel = ConformanceLevel.Fragment xml_writer_settings.OmitXmlDeclaration = True writer = None try: writer = XmlWriter.Create(sb, xml_writer_settings) if writer: mgr = XamlDesignerSerializationManager(writer) if mgr: mgr.XamlWriterMode = XamlWriterMode.Expression XamlWriter.Save(iaddin_custom_frame_instance, mgr) filewriter = None try: filewriter = File.CreateText(file_full_name) if filewriter: filewriter.Write(sb.ToString()) done = True finally: if filewriter: filewriter.Dispose() filewriter = None finally: if writer: writer.Dispose() writer = None except Exception as e: CommonUtil.sprint("Failed to serialize: {}".format(e)) done = False return done
def serialize(self, document, indent=False, encoding=bridge.ENCODING, prefixes=None, omit_declaration=False): doc = XmlDocument() doc.LoadXml(self.__start_document(document)) if document.xml_text: doc.DocumentElement.AppendChild( doc.CreateTextNode(document.xml_text)) self.__serialize_element(doc, doc.DocumentElement, document) settings = XmlWriterSettings() settings.Indent = indent settings.Encoding = Encoding.GetEncoding(encoding) settings.OmitXmlDeclaration = omit_declaration ms = MemoryStream() xw = XmlWriter.Create(ms, settings) doc.Save(xw) sr = StreamReader(ms) ms.Seek(0, SeekOrigin.Begin) content = sr.ReadToEnd() ms.Close() return content
def serialize(self, document, indent=False, encoding=bridge.ENCODING, prefixes=None, omit_declaration=False): doc = XmlDocument() doc.LoadXml(self.__start_document(document)) if document.xml_text: doc.DocumentElement.AppendChild(doc.CreateTextNode(document.xml_text)) self.__serialize_element(doc, doc.DocumentElement, document) settings = XmlWriterSettings() settings.Indent = indent settings.Encoding = Encoding.GetEncoding(encoding) settings.OmitXmlDeclaration = omit_declaration ms = MemoryStream() xw = XmlWriter.Create(ms, settings) doc.Save(xw) sr = StreamReader(ms) ms.Seek(0, SeekOrigin.Begin) content = sr.ReadToEnd() ms.Close() return content
def write(self, document): settings = XmlWriterSettings() settings.Indent = True settings.IndentChars = ' ' settings.OmitXmlDeclaration = True writer = XmlWriter.Create(self.fileName, settings) writer.WriteStartDocument() writer.WriteStartElement("document") def WritePage(page): writer.WriteStartElement("page") writer.WriteAttributeString("title", page.title) writer.WriteString(page.text) writer.WriteEndElement() for page in document: WritePage(page) writer.WriteEndElement() writer.WriteEndDocument() writer.Flush() writer.Close()