我试图用一些转义字符(\ 0)序列化一个字符串。但是,当我反序列化它会引发异常。为什么XML序列化建议通过SOAP和二进制序列化?
//XML serialization
private static void M1()
{
string str = "\0AC";
StringWriter sw = new StringWriter();
XmlSerializer serializer = new XmlSerializer(typeof(String));
serializer.Serialize(sw, str);
System.Console.WriteLine("String encoded to XML = \n{0} \n", sw.ToString());
StringReader sr = new StringReader(sw.ToString());
String s2 = (String)serializer.Deserialize(sr);
System.Console.WriteLine("String decoded from XML = \n {0}", s2);
}
//Using Binary serialization
void BinaryFormat1()
{
IFormatter bf = new BinaryFormatter();
string str = "\0MyName";
FileStream fs = new FileStream("SerilizedString.Data", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
bf.Serialize(fs, str);
fs.Close();
fs = new FileStream("SerilizedString.Data", FileMode.Open, FileAccess.Read, FileShare.None);
string data = (string)bf.Deserialize(fs);
fs.Close();
Console.WriteLine("data : " + data.ToString());
}
@ starz26 - 什么样的异常? – CoderHawk 2010-08-12 06:49:12
你的问题描述有哪些主题? – Gopi 2010-08-12 06:50:01
因为这个异常我试图使用其他序列化类型。可以使用二进制吗? – myWorld 2010-08-12 08:39:02