Beispiel #1
0
        public override void XmlSerialize(CXmlDocumentSerializationParameters aParameters)
        {
            try
            {
                // Serialize data to string
                using (CXmlDocumentSerializationParameters newParams = new CXmlDocumentSerializationParameters(aParameters, aParameters.Document, iSerializedData))
                {
                    base.XmlSerialize(newParams);

                    // The serialized XML data which is stored to this class' data member will
                    // be written later on by the segment dictionary.
                    newParams.Writer.Flush();

                    // Tidy up head and tail so that it matches the rest of the document.
                    string indent = aParameters.Writer.Settings.IndentChars;
                    string text   = iSerializedData.ToString();
                    using (StringReader reader = new StringReader(text))
                    {
                        iSerializedData.Length = 0;
                        string line = reader.ReadLine();
                        while (line != null)
                        {
                            iSerializedData.AppendLine(indent + line);
                            line = reader.ReadLine();
                        }
                    }
                    iSerializedData.Insert(0, System.Environment.NewLine);
                }
            }
            catch (Exception)
            {
            }
        }
        public static void XmlSerializeMessages(CXmlDocumentSerializationParameters aParameters, CIElement aElement)
        {
            CIElementList <CIMessage> messages = aElement.ChildrenByType <CIMessage>();

            foreach (CIMessage msg in messages)
            {
                CXmlNode.WriteLink(msg.Id, SegConstants.Messages, aParameters.Writer);
            }
        }
Beispiel #3
0
        public virtual void XmlSerialize(CXmlDocumentSerializationParameters aParameters)
        {
            string nodeName = XmlNodeName;

            //
            aParameters.Writer.WriteStartElement(null, nodeName, null);
            XmlSerializeContent(aParameters);
            XmlSerializeChildren(aParameters);
            aParameters.Writer.WriteEndElement();
        }
Beispiel #4
0
        public override void XmlSerialize(CXmlDocumentSerializationParameters aParameters)
        {
            base.XmlSerialize(aParameters);

            // Now write segment table in-memory buffer
            string segTable = aParameters.Document.SegmentTable.SerializedData;

            if (segTable.Length > 0)
            {
                aParameters.Writer.WriteRaw(segTable);
            }
        }
Beispiel #5
0
        public override object Serialize(CISinkSerializationParameters aParams)
        {
            CXmlDocumentRoot document = new CXmlDocumentRoot();
            //
            string fileName = string.Empty;

            using (CXmlDocumentSerializationParameters parameters = new CXmlDocumentSerializationParameters(aParams, document))
            {
                fileName = parameters.FileName;
                document.XmlSerialize(parameters);
            }
            //
            return(fileName);
        }
Beispiel #6
0
        /// <summary>
        /// By default, this method invokes the XmlSerialize() method on all children. Override this
        /// method if you have dynamic children to serialize that are not directly added as child nodes.
        /// </summary>
        /// <param name="aParameters"></param>
        protected virtual void XmlSerializeChildren(CXmlDocumentSerializationParameters aParameters)
        {
            SymNodeEnumeratorChildren iterator = new SymNodeEnumeratorChildren(this);

            foreach (SymNode node in iterator)
            {
                try
                {
                    ((CXmlNode)node).XmlSerialize(aParameters);
                }
                catch (Exception e)
                {
#if DEBUG
                    System.Diagnostics.Debug.WriteLine("CXmlNode Exception: " + this.GetType().Name);
                    System.Diagnostics.Debug.WriteLine("   Message: " + e.Message);
                    System.Diagnostics.Debug.WriteLine("   Stack:   " + e.StackTrace);
#endif
                }
            }
        }
Beispiel #7
0
 /// <summary>
 /// Override this virtual function if you have dynamic content to serialize at the
 /// level of this node.
 /// </summary>
 /// <param name="aParameters"></param>
 protected virtual void XmlSerializeContent(CXmlDocumentSerializationParameters aParameters)
 {
 }
 public override void XmlSerialize(CXmlDocumentSerializationParameters aParameters)
 {
     iWasSerialized = true;
     base.XmlSerialize(aParameters);
 }