我有一个关于datacontractserializer的快速问题。也许它更像是一个流问题。我找到了一段将xml写入文件流的代码。我基本上不需要该文件,只需要输出字符串。DataContractSerializer - 我怎样才能输出xml到一个字符串(而不是一个文件)
public static string DataContractSerializeObject<T>(T objectToSerialize)
{
var fs = new FileStream("test.xml", FileMode.OpenOrCreate);
var serializer = new DataContractSerializer(typeof(T));
serializer.WriteObject(fs, objectToSerialize);
fs.Close();
return fs.ToString();
}
fs.ToString()显然不是我在找的东西。什么流或作家等,我可以使用只是为了返回正确的字符串,而不是创建一个文件?我确实查看了文件流创建的XML,这正是我正在寻找的。 XmlSerializer编写的XML有点奇怪,在这种情况下,我更喜欢DataContractSerializer的输出。任何人都可以将我指向正确的方向吗?
外貌像你一样改变了参数,它应该是memStm.Seek(0,SeekOrigin.Begin); – xar 2012-07-26 08:29:24
@xar:是的,你是对的 - 感谢你发现了这个错误 - 我现在修复了它 – 2012-07-26 08:32:13
这个解决方案不必要地编码到/从utf8。 – 2017-03-07 19:37:17