c# 复杂Xml序列化和反序列化相关特性使用
1、序列化及反序列化方法
/// <summary>
/// 对象转xml
/// </summary>
/// <param name="obj"></param>
/// <param name="encoding"></param>
/// <returns></returns>
public static string ToXml(this object obj, string encoding = "UTF-8")
{
XmlWriterSettings xmlWriterSettings = new XmlWriterSettings
{
Encoding = Encoding.GetEncoding(encoding)
};
using (var s = new MemoryStream())
{
using (var xmlWriter = XmlWriter.Create(s, xmlWriterSettings))
{
var xns = new XmlSerializerNamespaces();
xns.Add("", "");
new XmlSerializer(obj.GetType()).Serialize(xmlWriter, obj, xns);
s.Position = 0;
}
using (var sr = new StreamReader(s))`
{
return sr.ReadToEnd();
}
}
}
/// <summary>
/// Xml转对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static T X2Entity<T>(this string obj) where T : class
{
try
{
using (StringReader sr = new StringReader(obj))
{
<

本文介绍了C#中如何进行复杂XML的序列化和反序列化操作,包括如何将实体类转换为XML字符串,以及如何从XML字符串反序列化回实体。还特别讨论了将数据转换为XML列表格式的方法和对象特性的调整。

317

被折叠的 条评论
为什么被折叠?



