Mantenga espacios en blanco / saltos de línea al serializar a través del servicio web ASMX
Estoy realizando un procesamiento previo de un documento XML en un servicio web ASMX (Legacy .NET SOAP Service) para un posible uso en un extremo frontal de Silverlight.
Estoy procesando ese documento XML en un objeto POCO para facilitar su uso. El objeto se define de la siguiente manera:
public class CACDocument : ITextDocument
{
#region Properties
public string Title { get; set; }
public string Text { get; set; }
public List<Code> CodeList { get; set; }
public XElement FormatedText { get; set; }
#endregion
#region Constructor
public CACDocument()
{
CodeList = new List<Code>();
}
#endregion
}
La propiedad de Texto en ese objeto contiene básicamente texto con formato (saltos de línea, espacios en blanco, etc.). El nodo XML que alimenta esa propiedad se ve así:
<text>
A TITLE FOLLOWED BY two line breaks
Some text followed by a line break
Some more text that might extend for a paragraph or two followed by more line breaks
Still more text
</text>
Todo está bien y el formato se mantiene, ya que esperaría que hasta que los servicios web serialicen los datos que se enviarán al frente. Supongo que en un intento de optimizar el ancho de banda, el objeto serializado elimina el espacio en blanco adicional y los saltos de línea de la propiedad de Texto antes de enviarlo. En este caso particular, ese formato es importante. ¿Hay alguna manera de forzar al servicio web a mantener este formato de espacio en blanco / salto de línea?
Me imagino que puedo sustituir código por los elementos en cuestión, y luego volver a convertir en el extremo delantero, pero eso me parece un poco de mala suerte.