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); } }
public virtual void XmlSerialize(CXmlDocumentSerializationParameters aParameters) { string nodeName = XmlNodeName; // aParameters.Writer.WriteStartElement(null, nodeName, null); XmlSerializeContent(aParameters); XmlSerializeChildren(aParameters); aParameters.Writer.WriteEndElement(); }
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); } }
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); }
/// <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 } } }
/// <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); }