protected static List<Message> FormatMessagesFromInputStream(Queue queue, System.IO.TextReader tr) { List<Message> lMessages = new List<Message>(); System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); doc.Load(tr); foreach (System.Xml.XmlNode n in doc.SelectNodes("QueueMessagesList/QueueMessage")) { Message msg = new Message() { MessageId = Guid.Parse(n.SelectSingleNode("MessageId").InnerText), InsertTime = DateTime.Parse(n.SelectSingleNode("InsertionTime").InnerText), ExpirationTime = DateTime.Parse(n.SelectSingleNode("ExpirationTime").InnerText), DequeueCount = int.Parse(n.SelectSingleNode("DequeueCount").InnerText), Body = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(n.SelectSingleNode("MessageText").InnerText)), Queue = queue }; if (n.SelectSingleNode("PopReceipt") != null) msg.PopReceipt = n.SelectSingleNode("PopReceipt").InnerText; if (n.SelectSingleNode("TimeNextVisible") != null) msg.TimeNextVisible = DateTime.Parse(n.SelectSingleNode("TimeNextVisible").InnerText); lMessages.Add(msg); } return lMessages; }
internal static Queue ParseFromXmlNode(AzureQueueService AzureQueueService, System.Xml.XmlNode nRoot) { Queue q = new Queue() { AzureQueueService = AzureQueueService, Name = nRoot.SelectSingleNode("Name").InnerText, Url = new Uri(nRoot.SelectSingleNode("Url").InnerText) }; System.Xml.XmlNode nMeta = nRoot.SelectSingleNode("Metadata"); if (nMeta != null) { foreach (System.Xml.XmlNode nMetaElem in nMeta.ChildNodes) { q.Metadata[nMetaElem.Name] = nMetaElem.InnerText; } } return q; }