不清楚,应该自己写程序来生成xml文件并写代码读吧!
解决方案 »
- 菜鸟请教各位大牛:类获取窗体里控件属性值时,为什么总显示空值啊?
- C#中调用存储过程
- C#导出Excel时间格式问题
- 菜鸟刚学c#`刚学到函数有个不理解的地方retur的意思!大大们求救拉
- 请各位前辈推荐一下表示软件内部逻辑关系的软件,先感谢了!
- 新手的问题,ASP.net(C#)网页在Dreamweaver中不能预览吗?
- 如何利用IIS服务来接受数据?
- 压力!!25岁的时候真正的感觉到压力的存在,你有这种感觉吗?
- 如何获得客户端登录域的用户名
- 未处理的“System.FormatException”类型的异常出现在 mscorlib.dll 中 是怎么回事?
- 模板列怎么用哟?
- C#下,如何防止winForm程序运行两个实例?即同时只能有一个该winForm运行。
* 功能说明: 试验字体对象序列化/反序列化
* 发现字体对象无法正常反序列化
* 例 子:
*
* 作 者: lugi
* 创建时间: 2004年01月28日
* 修改历史:
* Copyright (C) 2001 LugiSoft Software Inc. All rights reserved.
*/
namespace Leaf.Experiment
{
using System;
using System.Drawing;
using System.IO;
using System.Xml;
using System.Windows.Forms;
using System.Runtime.Serialization.Formatters.Soap;
using System.Text;
public class FontSerial
{
public static void Main(string [] args)
{
MemorySerialObject((int)12345);
FileSerialObject((int)12345);
MemorySerialObject(SystemInformation.WorkingArea);
FileSerialObject(SystemInformation.WorkingArea);
MemorySerialObject(SystemIcons.Hand);
FileSerialObject(SystemIcons.Hand);
// 下面四个均无法成功
// MemorySerialObject(SystemInformation.MenuFont);
// FileSerialObject(SystemInformation.MenuFont);
// MemorySerialObject(new Font("宋体",14));
// FileSerialObject(new Font("宋体",14));
}
// 把对象序列化到文件中,然后从文件数据中反序列化
private static void FileSerialObject(object obj)
{
SoapFormatter format = new SoapFormatter();
using(FileStream fs = new FileStream("c:\\tmp.soap", FileMode.Create))
{
format.Serialize(fs,obj);
fs.Close();
}
using(FileStream fs = new FileStream("c:\\tmp.soap", FileMode.Open))
{
object tmp = format.Deserialize(fs);
Console.WriteLine(tmp);
fs.Close();
}
}
// 把对象序列化到内存中,然后从内存中反序列化
private static void MemorySerialObject(object obj)
{
SoapFormatter format = new SoapFormatter();
string s = null;
using(MemoryStream ms = new MemoryStream())
{
format.Serialize(ms,obj);
s = System.Text.Encoding.UTF8.GetString(ms.ToArray());
Console.WriteLine(s);
}
format = new SoapFormatter();
using(MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(s)))
{
object tmp = format.Deserialize(ms);
Console.WriteLine(tmp);
}
}
}
}