Отступ текста в XML сериализации свойства строки?
У меня есть строковое свойство, которое будет содержать текст с символами новой строки. Этот текст имеет некоторые свойства текста HTML в этом пробеле не учитывается.
Если я сериализую этот тип с использованием XML-сериализации, новые строки сериализуются должным образом, но отступ "неправильно", Я хочу, чтобы в процессе сериализации отступали строки, чтобы сохранить форматирование XML, поскольку эти пробельные символы в дальнейшем все равно будут игнорироваться.
Вот'примерLINQPad программа:
void Main()
{
var d = new Dummy();
d.Text = @"Line 1
Line 2
Line 3";
var serializer = new XmlSerializer(typeof(Dummy));
var ns = new XmlSerializerNamespaces();
ns.Add("", "");
using (var writer = new StringWriter())
{
serializer.Serialize(writer, d, ns);
writer.ToString().Dump();
}
}
[XmlType("dummy")]
public class Dummy
{
[XmlElement("text")]
public string Text
{
get;
set;
}
}
Фактический вывод:
Line 1
Line 2
Line 3
Желаемый вывод:
Line 1
Line 2
Line 3
Это возможно? Если так, то как? Я'Я бы предпочел не делать хакерский способ, просто добавляя пробел в себя.
Причина в том, что этот XML будет просматриваться и редактироваться людьми, поэтому яМне бы хотелось, чтобы исходный вывод был лучше отформатирован для них из коробки.