哈希表序列化的小问题(在线等)

shuiwenyu 2009-04-21 04:08:10
public class pro1
{
public string action
{get{},set{}} 这是节点一的属性
}
public class pro2
{
public int number
{get{},set{}} 这是节点二属性
}
hashtable ht=new hashtable()
if (ht.Contains(Start.ID))//Start.ID是键值
{
ht.Remove(Start.ID);

}

ht.Add(Start.ID, Start);
foreach (DictionaryEntry de in ht)
{}现在我做一个流程图我想把所有节点的属性都先放在哈希表里面,然后在取出来序列化后保存为xml文件改怎么做
请高手指点啊
...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Garnett_KG 2009-04-21
  • 打赏
  • 举报
回复
参考

XmlSerializer xser = new XmlSerializer(typeof(pro1));
StringBuilder sb = new StringBuilder();
XmlWriter xmlwriter = XmlWriter.Create(sb);
foreach (object o in ht.Keys)
{
xser.Serialize(xmlwriter, ht[o]);
}
xmlwriter.Flush();
Console.WriteLine(sb.ToString());

shuiwenyu 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zgke 的回复:]
楼主应该再解释下.
[/Quote]
比如说我现在要只有一个属性类public class pro1
{
public string action
{get{},set{}} }

hashtable ht=new hashtable()
if (ht.Contains(Start.ID))//Start.ID是键值
{
ht.Remove(Start.ID);

}

ht.Add(Start.ID, Start);
foreach (DictionaryEntry de in ht)
{pro1 temp = (pro1 )de.Value;


}
我这样不就取出来了
下来就可以用temp序列化了
可是现在是多个属性类
我并不知道取出来的是哪一个属性啊
zgke 2009-04-21
  • 打赏
  • 举报
回复
楼主应该再解释下.
Garnett_KG 2009-04-21
  • 打赏
  • 举报
回复
XmlSerializer无法直接序列化Hashtable,所以要自己写代码序列化。
shuiwenyu 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhoufoxcn 的回复:]
上面的文章中讲述了序列化对象的集中方式。代码太多,你自己看吧。
[/Quote]
我的问题可能问错了
我的意思是俩个类的属性现在都存进哈希表里
下来我在怎么从哈希表里面读出还原成类
能让我序列化呢
周公 2009-04-21
  • 打赏
  • 举报
回复
上面的文章中讲述了序列化对象的集中方式。代码太多,你自己看吧。
周公 2009-04-21
  • 打赏
  • 举报
回复
.net中对象序列化技术浅谈
本文用比较简短的文字讲述了在.net中序列化化对象的三种方式,然后讲述各种方式之间的区别以及在序列化对象时要注意的一些事项。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧