序列化Modelstate到XML asp.net mvc

本文关键字:net mvc asp XML Modelstate 序列化 | 更新日期: 2023-09-27 18:12:41

我正在尝试将模型状态序列化为xml字符串。首先,我创建一个modelstate字典,并尝试对这个字典进行序列化。下面是我使用的代码:

 ModelStateDictionary dict = new ModelStateDictionary();
            dict.Merge(ModelState);
            XmlSerializer serializer = new XmlSerializer(dict.GetType());
            using (StringWriter writer = new StringWriter()){
                serializer.Serialize(writer, dict);
                var r2 = writer.ToString();
            }
创建

r2,但所有标记都用'r'n填充。我做错了什么?

序列化Modelstate到XML asp.net mvc

您可以使用XmlWriter并在设置中指定不希望保留空格和缩进:

XmlSerializer serializer = new XmlSerializer(dict.GetType());
var settings = new XmlWriterSettings { Indent = false };
using (var stream = new MemoryStream())
using (var writer = XmlWriter.Create(stream, settings))
{
    serializer.Serialize(writer, dict);
    string r2 = Encoding.UTF8.GetString(stream.ToArray());
}