XML对象标准序列化
Public static string XMLSerialize<T>(T entity)
{
string xmlstring = string.Empty;
XmlSerializer xmlserializer = new XmlSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
xmlserializer.Serialize(ms, entity);
xmlstring = Encoding.UTF8.GetString(ms.ToArray());
}
return xmlstring;
}
***将指定对象序列化生成XML字符串,会生成下图例子表现形式,出现问题:
1.无编码格式,需要重新指定。
2.不能指定xml根节点和子节点。
XML对象标准反序化
public static T DeXMLSerialize<T>(string xmlString)
{
T cloneObject = default(T);
StringBuilder buffer = new StringBuilder();
buffer.Append(xmlString);
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (TextReader reader = new StringReader(buffer.ToString()))
{
Object obj = serializer.Deserialize(reader);
cloneObject = (T)obj;
}
return cloneObject;
}
***反序化可直接将上图的标准xml对象转换成实例化的对象。