Я выполняю некоторую предварительную обработку документа XML в веб-службе ASMX (устаревшая служба .NET SOAP) для возможного использования в интерфейсе Silverlight.
Я обрабатываю этот XML-документ в POCO-объект для простоты использования. Объект определяется следующим образом:
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
}
Свойство Text в этом объекте содержит в основном форматированный текст (разрывы строк, пробелы и т. Д.). Узел XML, который передает это свойство, выглядит следующим образом:
<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>
Все в порядке, и формат поддерживается, как и следовало ожидать, пока веб-службы не сериализуют данные для отправки во внешний интерфейс. Я предполагаю, что в попытке оптимизировать пропускную способность сериализованный объект удаляет лишние пробелы и разрывы строк из свойства Text перед отправкой. В этом конкретном случае это форматирование важно. Есть ли способ заставить веб-сервис поддерживать форматирование пробелов и разрывов строк?
Я полагаю, что я заменяю некоторое кодирование для рассматриваемых предметов, а затем преобразую обратно на передний конец, но мне это кажется чем-то вроде кома.