zoukankan      html  css  js  c++  java
  • xml序列化与反序列化

    XmlConfig.cs
    namespace Model
    {
        [ Serializable]
        public class XmlConfig
        {
    
            [ XmlElement]
            public List <Class1> Class1; 
            [ XmlElement]
            public List <Class2> Class2; 
    
            [ XmlIgnore]
            private static XmlConfig list;
    
            public static void SetModelList( XmlConfig zlist)
            {
                list = zlist;
            }
    
            public static XmlConfig GetModelList()
            {
                if (list == null )
                {
                    list = new XmlConfig ();
                }
                return list;
            }
          
    
          
            public XmlConfig(){}
        }
        
        [ Serializable]
        public class Class2
        {
            [ XmlElement]
            public List <Class3> Class3;
            public Class2()
            {
            }
            [ XmlAttribute]
            public string Name;//名称
         
        }
       
        [ Serializable]
        public class Class3
        {
            publicClass3() { }
            [ XmlAttribute]
            
        }
    }
    View Code
    XmlSerialiaze.cs
    namespaceModel
    {
      public   class XmlSerialiaze
        {
            //序列化
            public static void Serialiaze()
            {           
                XmlConfig p = XmlConfig .GetModelList();
    Class1 tb
    = new Class1(); Class1 temp = p.Class1[0]; tb.Name = temp.Name; p.Class1.Add(tb); //添加 tb.Class2= new List <Class2>(); Class2 cb = new Class2(); Class2 cool = temp.Class2[0]; tb.Class2.Add(cb);

    XmlSerializer xs = new XmlSerializer( typeof(XmlConfig )); Stream stream = new FileStream( AppDomain.CurrentDomain.BaseDirectory + "XmlConfig.xml" , FileMode.Create, FileAccess .Write, FileShare.ReadWrite); xs.Serialize(stream, p); stream.Close(); } //反序列化 //XmlConfig p; public static void Deserialize() { XmlSerializer xs = new XmlSerializer( typeof(XmlConfig )); Stream stream = new FileStream( AppDomain.CurrentDomain.BaseDirectory + "XmlConfig.xml" , FileMode.Open, FileAccess .Read, FileShare.ReadWrite); XmlConfig p = (XmlConfig )xs.Deserialize(stream); XmlConfig.SetModelList(p); } } }
    一分辛苦一分才
  • 相关阅读:
    eclipse常用的快捷键
    如何保留小数点后N位?
    EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)
    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常(转)
    STL优先队列 hdu1896
    工作排序问题 poj2376
    STL存储邻接表
    二叉树的遍历
    快速排序
    并查集 并查集来判断是否存在环路
  • 原文地址:https://www.cnblogs.com/JoanLin-workNotes/p/4518344.html
Copyright © 2011-2022 走看看