/// <summary> /// Reads and returns the inner xml value of an element. /// </summary> /// <param name="serializationContext">The current serialization context instance.</param> /// <param name="element">The element whose attributes have just been written.</param> /// <param name="reader">XmlReader to read the serialized data from.</param> /// <returns>The value of the element.</returns> /// <remarks>This is an extension point to allow customisation e.g. to decode the data being written to the file.</remarks> public virtual string ReadInnerXmlAsString(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement element, global::System.Xml.XmlReader reader) { return reader.ReadInnerXml(); }
/// <summary> /// Reads and returns the inner xml value (which is serialized as cdata) of an element. /// </summary> /// <param name="serializationContext">The current serialization context instance.</param> /// <param name="element">The element whose attributes have just been written.</param> /// <param name="reader">XmlReader to read the serialized data from.</param> /// <returns>The value of the element.</returns> /// <remarks>This is an extension point to allow customisation e.g. to decode the data being written to the file.</remarks> public virtual string ReadCDATAFromInnerXmlAsString(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement element, global::System.Xml.XmlReader reader) { string innerXml = reader.ReadInnerXml(); if( innerXml.Length > 9 ) { if (innerXml.Substring(0, 9) == "<![CDATA[" && innerXml.Substring(innerXml.Length - 3, 3) == "]]>") { return innerXml.Substring(9, innerXml.Length - 12); } } return innerXml; }
private static void ReadPropertiesFromElements(DslModeling::SerializationContext serializationContext, Model element, global::System.Xml.XmlReader reader) { while (!serializationContext.Result.Failed && !reader.EOF && reader.NodeType == global::System.Xml.XmlNodeType.Element) { switch (reader.LocalName) { case "additionalImports": // AdditionalImports if (reader.IsEmptyElement) { // No serialized value, must be default one. DslModeling::SerializationUtilities.Skip(reader); // Skip this tag. } else { string strAdditionalImports = reader.ReadInnerXml(); global::System.Collections.Generic.List<Altinoren.ActiveWriter.Import> valueOfAdditionalImports; if (DslModeling::SerializationUtilities.TryGetValue<global::System.Collections.Generic.List<Altinoren.ActiveWriter.Import>>(DslModeling::SerializationUtilities.UnescapeXmlString(strAdditionalImports), out valueOfAdditionalImports)) { element.AdditionalImports = valueOfAdditionalImports; } else { // Invalid property value, ignored. ActiveWriterSerializationBehaviorSerializationMessages.IgnoredPropertyValue(serializationContext, reader, "additionalImports", typeof(global::System.Collections.Generic.List<Altinoren.ActiveWriter.Import>), strAdditionalImports); } DslModeling::SerializationUtilities.SkipToNextElement(reader); } break; default: return; // Don't know this element. } } }