public override WebServiceResponse Unmarshall(XmlUnmarshallerContext context) { XmlTextReader reader = new XmlTextReader(context.ResponseStream); BatchSendMessageResponse batchSendMessageResponse = new BatchSendMessageResponse(); SendMessageResponse messageResponse = null; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.LocalName) { case MNSConstants.XML_ROOT_MESSAGE: messageResponse = new SendMessageResponse(); break; case MNSConstants.XML_ELEMENT_MESSAGE_ID: messageResponse.MessageId = reader.ReadElementContentAsString(); break; case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5: messageResponse.MessageBodyMD5 = reader.ReadElementContentAsString(); break; } break; case XmlNodeType.EndElement: if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE) { batchSendMessageResponse.Responses.Add(messageResponse); } break; } } reader.Close(); return batchSendMessageResponse; }
public override WebServiceResponse Unmarshall(XmlUnmarshallerContext context) { XmlTextReader reader = new XmlTextReader(context.ResponseStream); BatchSendMessageResponse batchSendMessageResponse = new BatchSendMessageResponse(); SendMessageResponse messageResponse = null; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: switch (reader.LocalName) { case MNSConstants.XML_ROOT_MESSAGE: messageResponse = new SendMessageResponse(); break; case MNSConstants.XML_ELEMENT_MESSAGE_ID: reader.Read(); messageResponse.MessageId = reader.Value; break; case MNSConstants.XML_ELEMENT_MESSAGE_BODY_MD5: reader.Read(); messageResponse.MessageBodyMD5 = reader.Value; break; } break; case XmlNodeType.EndElement: if (reader.LocalName == MNSConstants.XML_ROOT_MESSAGE) { batchSendMessageResponse.Responses.Add(messageResponse); } break; } } reader.Close(); return(batchSendMessageResponse); }