亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

通過序列化和反序列化泛型數據實體集合來實現持久化數據對象的方法

2019-11-18 16:53:46
字體:
來源:轉載
供稿:網友

通過序列化和反序列化泛型數據實體集合來實現持久化數據對象的方法

我們在平時使用數據庫的時候,經常會碰到一個問題,就是不希望數據實體對象插入數據庫中, 卻有想持久化的時候,那么就可以用序列化成

xml字符串,來保存到其他地方,由于生成的是字符串,所以可以保存到任意我們想保存的地方。比如 asp.net的ViewState,cookie,cache等。

首先,我們定義一個數據實體類。

 

    class Entity
    {
        public Entity()
        {}
        PRivate int id;
        public int Id
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }
        private string name;
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }

        private double price;
        public double Price
        {
            get
            {
                return price;
            }
            set
            {
                price = value;
            }
        }
    }


于是將他插入到List<Entity>對象中

    List<Entity> list = new List<Entity>();
    Entity obj = new Entity();
    obj.Id = 1;
    obj.Name = "test";
    obj.Price = 3.23;
    list.Add(obj);
 這樣,一個List<Entity>對象就創建成功了,下面我們來將他序列化

        public static string Serialize<BusinessObject>(List<BusinessObject> GenericList)
        {
            XmlDocument result = new XmlDocument();
            result.LoadXml("<Root></Root>");
            foreach (BusinessObject obj in GenericList)
            {
                XmlElement Item = result.CreateElement("Item");
                PropertyInfo[] properties = obj.GetType().GetProperties();
                foreach (PropertyInfo property in properties)
                {
                    if (property.GetValue(obj, null) != null)
                    {
                        XmlElement element = result.CreateElement(property.Name);
                        element.SetAttribute("Type", property.PropertyType.Name);
                        element.InnerText = property.GetValue(obj, null).ToString();
                        Item.AppendChild(element);
                    }
                }
                result.DocumentElement.AppendChild(Item);
            }
            return result.InnerXml;
        }
 然后我們調用這個方法

string str = Serialize<Entity>(list);
 生成的XML文件為:

    <Root>
        <Item>
            <Id Type="Int32">1</Id>
            <Name Type="String">test</Name>
            <Price Type="Double">3.23</Price>
        </Item>
    </Root>
下面,我們根據上面生成的xml文件,將他反序列化,生成剛才的List<Entity>對象

        public static List<BusinessObject> Deserialize<BusinessObject>(string XmlStr)
        {
            List<BusinessObject> result = new List<BusinessObject>();
            XmlDocument XmlDoc = new XmlDocument();
            XmlDoc.LoadXml(XmlStr);
            foreach (XmlNode ItemNode in XmlDoc.GetElementsByTagName("Root").Item(0).ChildNodes)
            {
                BusinessObject item = Activator.CreateInstance<BusinessObject>();
                PropertyInfo[] properties = typeof(BusinessObject).GetProperties();
                foreach (XmlNode propertyNode in ItemNode.ChildNodes)
                {
                    string name = propertyNode.Name;
                    string type = propertyNode.Attributes["Type"].Value;
                    string value = propertyNode.InnerXml;
                    foreach (PropertyInfo property in properties)
                    {
                        if (name == property.Name)
                        {
                            property.SetValue(item,Convert.ChangeType(value,property.PropertyType), null);
                        }
                    }
                }
                result.Add(item);
            }
            return result;
        }
 然后我們調用這個方法:

List<Entity> list = Deserialize<Entity>(str);
 完了。

本文只是給大家介紹了序列化List<>對象的簡單方法,用的時候要根據自己的情況而定。
http://www.49028c.com/kchen/archive/2006/11/04/550382.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲va男人天堂| 亚洲精品在线91| 国产成人jvid在线播放| 91视频国产一区| 国产视频福利一区| 亚洲欧美福利视频| 亚洲国产精彩中文乱码av| 国产精品女视频| 国产热re99久久6国产精品| 亚洲国产欧美一区| 日韩欧中文字幕| 精品国内产的精品视频在线观看| 亚洲aⅴ男人的天堂在线观看| 影音先锋欧美在线资源| 久久久精品美女| 欧美日韩爱爱视频| 91久久精品在线| 国产精品激情av电影在线观看| 一级做a爰片久久毛片美女图片| 日韩精品在线免费观看视频| 久久av在线看| 欧美夫妻性生活视频| 91久久精品美女高潮| 亚洲国产精品久久久久秋霞蜜臀| 91福利视频在线观看| 亚洲国产天堂网精品网站| 欧美成人亚洲成人日韩成人| 亚洲激情国产精品| 国产91ⅴ在线精品免费观看| 国产精品黄页免费高清在线观看| 91九色国产社区在线观看| 久久久久国产视频| 在线视频亚洲欧美| 日韩精品在线影院| 国产精品美女免费视频| 欧美电影电视剧在线观看| 亚洲精品欧美日韩专区| 精品国产一区久久久| 欧美日韩美女在线| 成人高清视频观看www| 日韩在线视频导航| 欧美日韩成人在线视频| 亚洲男人天堂网| 久热精品视频在线免费观看| 亚洲国产成人久久| 亚洲国产欧美一区二区丝袜黑人| 亚洲欧美综合另类中字| 国产精品福利在线观看| 欧美成人精品h版在线观看| 国产精品一区二区久久久久| 久久免费视频这里只有精品| 奇米4444一区二区三区| 欧美另类在线播放| 亚洲成av人影院在线观看| 亚洲精品动漫100p| 91精品国产沙发| 国产精品入口福利| 国模吧一区二区| 中文字幕日韩在线播放| 欧美激情精品在线| 成人精品一区二区三区电影黑人| 亚洲色图综合久久| 亚洲97在线观看| 中文字幕日韩av综合精品| 亚洲精品美女在线观看| 欧美成人亚洲成人日韩成人| 日韩精品日韩在线观看| 亚洲成色777777女色窝| 欲色天天网综合久久| 欧美老女人性视频| 日韩美女在线观看一区| 欧美丰满少妇xxxxx做受| 亚洲国产日韩欧美在线动漫| 狠狠爱在线视频一区| 日韩黄色在线免费观看| 久久av在线看| 狠狠色狠狠色综合日日五| 亚洲2020天天堂在线观看| 亚洲xxxxx性| 亚洲成人激情在线观看| 国产精品免费视频久久久| 日韩三级影视基地| 欧美高清性猛交| 国产精品中文久久久久久久| 国产精品美女视频网站| 国内精品免费午夜毛片| 国产精品免费久久久久久| 亚洲免费av片| 中文字幕亚洲无线码在线一区| 欧美精品成人在线| 亚洲最大的网站| 国内免费精品永久在线视频| 丁香五六月婷婷久久激情| 亚洲999一在线观看www| 欧美人与性动交a欧美精品| 欧美精品生活片| 人人爽久久涩噜噜噜网站| 日本成人在线视频网址| 欧美日韩中文在线观看| 亚洲日本成人女熟在线观看| 久久久久久久影院| 亚洲二区在线播放视频| 美女黄色丝袜一区| 国产欧美日韩亚洲精品| 国产精品美女在线观看| 九九久久综合网站| 国产精品黄色av| 久久乐国产精品| 日韩中文字幕av| 欧美疯狂xxxx大交乱88av| 青青久久av北条麻妃黑人| 久久人人97超碰精品888| 欧美精品情趣视频| 日韩精品视频在线免费观看| 中文字幕日本精品| 亚洲色图50p| 国产综合色香蕉精品| 深夜精品寂寞黄网站在线观看| 亚洲午夜小视频| 欧美色视频日本高清在线观看| 国产精品综合久久久| 国产欧美一区二区三区久久| 久久精品国产精品| 最近的2019中文字幕免费一页| 欧美成年人视频网站| 日韩av成人在线| 一区二区亚洲欧洲国产日韩| 91亚洲精华国产精华| 亚洲缚视频在线观看| 国产精品久久久久91| 日韩高清av在线| 欧美日韩黄色大片| 国产精品精品视频一区二区三区| 欧美小视频在线观看| 九九热这里只有精品免费看| 久久777国产线看观看精品| 91精品在线影院| 久久免费少妇高潮久久精品99| 国产一区二区在线播放| 久久青草精品视频免费观看| 日韩欧美极品在线观看| 国产精品成人v| 国产乱肥老妇国产一区二| 久久精品电影网站| 国产精品美女网站| 亚洲第一区第二区| 97av在线视频免费播放| 91av在线国产| 欧洲亚洲在线视频| 亚洲最新av在线网站| 国产精品日日摸夜夜添夜夜av| 久久激情视频免费观看| 国产一区二区丝袜高跟鞋图片| 欧美日韩ab片| 欧美激情国产高清| 欧洲成人在线观看| 亚洲自拍另类欧美丝袜| 伊人久久久久久久久久久久久| 亚洲中国色老太| 精品五月天久久| 日韩在线视频导航| 色99之美女主播在线视频| 国产女人18毛片水18精品| 久久久久久久一区二区三区|