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
Example #2
0
    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
Example #3
0
    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
Example #4
0
 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()