XML序列化 - .NET技术 / C#
我不知道有没有办法可以给任意一个类进行序列化和反序列化操作。
C# code:
public static void Serial<T>(T[] items, string path)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T[]));
TextWriter writer = new StreamWriter(path);
try
{
xmlSerializer.Serialize(writer, items);
}
finally
{
writer.Close();
}
}
public static T[] Deserial<T>(string path)
{
if (!File.Exists(path)) return new T[0];
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T[]));
FileStream fs = new FileStream(path, FileMode.Open);
T[] items;
try
{
items = (T[])xmlSerializer.Deserialize(fs);
}
finally
{
fs.Close();
}
return items;
}
这个是标准的xml序列化反序列化的方法。也行,就是不能完全的符合我要求。
比如我的类
C# code:
public class A
{
public string P1;
}
我如何做都可以,但如果我序列化生成了"test.xml"文件。
我又扩展了类变为:
C# code:
public class A
{
public string P1;
pulbic string P2;
}
我用反序列化得到的A[]就会都是空的了
相关问答:
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
现在有个xml文件是<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xm ......
VS2008中C#操作Access数据库,网上下载了一个类,可以正常连接,读取数据,但是插入删除操作似乎有问题,以下是部分代码:
数据库类:
namespace AccessDb
{
public class AccessDbClass
{ ......
在Access的查询中执行下面的语句,无效,提示期待select ,updata ,...
CreateTble C=Answer N="回帖表"
(
C=ID T="INTEGER" P=No M=No N="编号" Z=false,
C=Ques ......
执行数据库操作时,直接用SQL 语句好一些 还是用存储过程更佳呢?
各抒起见
这个的具体问题具体分析
简单的select 、update和insert当然sql解决了
复杂的放在sql服务端应该好点
楼主请参阅
http://msdn.micr ......