/// <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;
        }
Пример #3
0
		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.
				}
			}
		}