NServiceBus.XmlDeserialization.Deserialize C# (CSharp) Method

Deserialize() public method

public Deserialize ( Stream stream, IList messageTypesToDeserialize = null ) : object[]
stream Stream
messageTypesToDeserialize IList
return object[]
        public object[] Deserialize(Stream stream, IList<Type> messageTypesToDeserialize = null)
        {
            if (stream == null)
            {
                return null;
            }

            var result = new List<object>();

            var doc = ReadStreamIntoDocument(stream, sanitizeInput);

            if (NothingToBeProcessed(doc))
            {
                return result.ToArray();
            }

            CacheDefaultNameSpaceMessageBaseTypesAndPrefixes(doc);

            if (ContainsMultipleMessages(doc))
            {
                if (ContainsAnyMessageTypesToDeserialize(messageTypesToDeserialize))
                {
                    var rootTypes = FindRootTypes(messageTypesToDeserialize);
                    ProcessRootTypes(rootTypes, doc, result);
                }
                else
                {
                    var m = Process(doc.DocumentElement, null);
                    if (m == null)
                    {
                        throw new SerializationException("Could not deserialize message.");
                    }
                    result.Add(m);
                }
            }
            else
            {
                ProcessChildNodes(messageTypesToDeserialize, doc, result);
            }

            return result.ToArray();
        }

Usage Example

        /// <summary>
        /// Deserializes from the given stream a set of messages.
        /// </summary>
        /// <param name="stream">Stream that contains messages.</param>
        /// <param name="messageTypesToDeserialize">
        /// The list of message types to deserialize. If null the types must be inferred
        /// from the serialized data.
        /// </param>
        /// <returns>Deserialized messages.</returns>
        public object[] Deserialize(Stream stream, IList<Type> messageTypesToDeserialize = null)
        {
            if (stream == null)
            {
                return null;
            }

            var deserializer = new XmlDeserialization(mapper, cache, SkipWrappingRawXml, SanitizeInput);
            return deserializer.Deserialize(stream, messageTypesToDeserialize);
        }
All Usage Examples Of NServiceBus.XmlDeserialization::Deserialize