/// <summary> /// Converte a message em uma Xml string. /// </summary> /// <param name="message"></param> /// <returns></returns> public static string ToXml(ref Message message) { string messageXml; using (var sw = new ACBrStringWriter()) using (var writer = XmlWriter.Create(sw)) { message.WriteMessage(writer); writer.Flush(); messageXml = sw.GetStringBuilder().ToString(); } var reader = XmlReader.Create(new StringReader(messageXml)); var copy = Message.CreateMessage(reader, int.MaxValue, message.Version); copy.Headers.Clear(); copy.Headers.CopyHeadersFrom(message); foreach (var property in message.Properties) { copy.Properties[property.Key] = property.Value; } message.Close(); message = copy; return(messageXml); }
public static string AsString(this XContainer document, bool identado, bool showDeclaration, Encoding encode) { var settings = new XmlWriterSettings { Indent = identado, Encoding = encode, OmitXmlDeclaration = !showDeclaration, NamespaceHandling = NamespaceHandling.OmitDuplicates }; using (var xmlString = new ACBrStringWriter(encode)) using (var xmlTextWriter = XmlWriter.Create(xmlString, settings)) { document.WriteTo(xmlTextWriter); xmlTextWriter.Flush(); return(xmlString.ToString()); } }
public static void SaveXml(ref Message message, Stream stream) { using (var sw = new ACBrStringWriter()) using (var writer = XmlWriter.Create(stream)) { message.WriteMessage(writer); writer.Flush(); } stream.Position = 0; var reader = XmlReader.Create(stream); var copy = Message.CreateMessage(reader, int.MaxValue, message.Version); copy.Headers.Clear(); copy.Headers.CopyHeadersFrom(message); copy.Properties.Clear(); copy.Properties.CopyProperties(message.Properties); message.Close(); message = copy; }