Если вы используете Back4App, правильный URL-адрес сервера:
Как говорит Бендевей, XmlWriterSettings - это то, что вам нужно - например, что-то вроде
var ds = new DataContractSerializer(typeof(Foo));
var settings = new XmlWriterSettings { Indent = true };
using (var w = XmlWriter.Create("fooOutput.xml", settings))
ds.WriteObject(w, someFoos);
Посмотрите на свойство Indent
обновления XmlWriterSettings
: Вот хорошая ссылка из MSDN на Как: Указать формат вывода на XmlWriter
Кроме того, вот пример:
class Program
{
static void Main(string[] args)
{
var Mark = new Person()
{
Name = "Mark",
Email = "mark@example.com"
};
var serializer = new DataContractSerializer(typeof(Person));
var settings = new XmlWriterSettings()
{
Indent = true,
IndentChars = "\t"
};
using (var writer = XmlWriter.Create(Console.Out, settings))
{
serializer.WriteObject(writer, Mark);
}
Console.ReadLine();
}
}
public class Person
{
public string Name { get; set; }
public string Email { get; set; }
}
public static string SerializeEntity<T>(T source)
{
using (MemoryStream ms = new MemoryStream())
{
NetDataContractSerializer serializer = new NetDataContractSerializer();
serializer.Serialize(ms, source);
return System.Text.Encoding.ASCII.GetString(ms.ToArray());
}
}
public static T DeSerializeEntity<T>(string xml)
{
using (MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(xml)))
{
NetDataContractSerializer serializer = new NetDataContractSerializer();
return (T)serializer.Deserialize(ms);
}
}
Будьте осторожны при корректировке пробельных символов в XML-документах! Корректировка пробельных символов сделает XML более читабельным для нас, людей, но может помешать машинному разбору.
Согласно стандарту XML, пробельные символы по умолчанию являются значимыми. Другими словами, с точки зрения XML, пробел - это содержание.
Если вы подадите ваш красиво отформатированный XML в объект XML Document, вы получите результат, отличный от версии, в которой нет пробелов и переносов строк. Вы получите дополнительные текстовые узлы, добавленные к версии, которая была отформатирована.
В этой статье MSDN о XML White Space есть несколько примеров, которые показывают, насколько сложным может быть пробел.
Если вы форматируете XML только для человеческого потребления, это не имеет значения. Но если вы попытаетесь использовать отформатированный документ по кругу, у вас могут возникнуть проблемы.
Поскольку одним из основных преимуществ использования DataContractSerializer является возможность сериализации объектов и десериализации XML без проблем, обычно лучше оставить некрасивый вывод в покое.
Я обычно вставляю вывод в NotePad++ и запускаю макрос XML-tidy, когда хочу прочитать его для отладки.