Это, вероятно, наименее сложный ответ, но я решил его для меня простой заменой строки.
.Replace ("xsi: nil = \" true \ "", "");
В любом случае, я сериализуюсь в первую очередь. Я могу сохранить в файл позже.
Он сохраняет все мои настройки XmlWriterSettings нетронутыми. Еще одно решение, которое я нашел, она испортила:)
private static string Serialize<T>(T details)
{
var serializer = new XmlSerializer(typeof(T));
using (var ms = new MemoryStream())
{
var settings = new XmlWriterSettings
{
Encoding = Encoding.GetEncoding("ISO-8859-1"),
NewLineChars = Environment.NewLine,
ConformanceLevel = ConformanceLevel.Document,
Indent = true,
OmitXmlDeclaration = true
};
using (var writer = XmlWriter.Create(ms, settings))
{
serializer.Serialize(writer, details);
return Encoding.UTF8.GetString(ms.ToArray()).Replace(" xsi:nil=\"true\" ", "");
}
}
}