如何解决用XmlSerializer序列化和反序列化一个类, 保存到UTF-8的XML中. 产生的换行符丢失的问题
public
static
object
XmlDeserialize(
string
xml, Type type,
params
Type [] extraTypes)
... {
XmlSerializer serializer = new XmlSerializer(type, extraTypes);
using(MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
...{
using(XmlTextReader reader = new XmlTextReader(stream))
...{
// 注意一定要创建出一个 XmlTextReader出来,
// 因为MS默认的 reader.Normalization = true
// 设置成false就不会把回车去掉了
reader.Normalization = false;
return serializer.Deserialize(reader);
}
}
}
... {
XmlSerializer serializer = new XmlSerializer(type, extraTypes);
using(MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(xml)))
...{
using(XmlTextReader reader = new XmlTextReader(stream))
...{
// 注意一定要创建出一个 XmlTextReader出来,
// 因为MS默认的 reader.Normalization = true
// 设置成false就不会把回车去掉了
reader.Normalization = false;
return serializer.Deserialize(reader);
}
}
}