日期:2014-05-18  浏览次数:20888 次

c# 序列化问题
定义一个实体 
public class Xml
{
public string a;
public string b;
}

如果 a的值本来就是 xml 格式,比如<root><name></name></root>

序列化后 xml 格式的值 会变成 &lt;root&gt;&lt;/root&gt; 这个样子

想仍然保持 原来的样子

请问如何处理,谢谢。

------解决方案--------------------
你是否使用正确了?对照一下代码看看: 

FileStream fileStream = new FileStream("DoSum.xml", FileMode.Create);
// use the CLR binary formatter
System.Xml.Serialization.XmlSerializer
formatter = new XmlSerializer(typeof(SumOf));
// serialize to disk
formatter.Serialize(fileStream, sObj);
fileStream.Close();
------解决方案--------------------
< / > 这些是xml的关键字
不能直接序列化

------解决方案--------------------
那就用字符串替换吧
------解决方案--------------------
转化成string,然后序列化。反序列化的时候还原成string,再转成xml
------解决方案--------------------
msdn search 自定义序列化