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文件改怎么做
请高手指点啊

解决方案 »

  1.   

    .net中对象序列化技术浅谈
    本文用比较简短的文字讲述了在.net中序列化化对象的三种方式,然后讲述各种方式之间的区别以及在序列化对象时要注意的一些事项。
      

  2.   

    XmlSerializer无法直接序列化Hashtable,所以要自己写代码序列化。
      

  3.   

    比如说我现在要只有一个属性类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序列化了
    可是现在是多个属性类
    我并不知道取出来的是哪一个属性啊
      

  4.   

    参考                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());