推薦這個blog:

Award


(ASP.NET 2010、2011、2012年)

其他資源

簡體中文blog

最新回應

[Memo]將XML轉為對應的Entity

前言
日常作業上很常用的到這個需求,所以記錄一下。

Sample
1. 將XML字串Deserialize成對應的Entity

        /// <summary>
        /// XMLs to entity.
        /// </summary>
        /// <typeparam name="T">Xml對應的Entity type</typeparam>
        /// <param name="xml">The XML.</param>
        /// <returns>Xml對應的Entity</returns>
        public static T XmlToEntity<T>(string xml) where T : class
        {
            if (string.IsNullOrEmpty(xml))
            {
                return null;
            }
            else
            {
                XmlSerializer serializer = new XmlSerializer(typeof(T));
                byte[] byteArray = Encoding.UTF8.GetBytes(xml);
                MemoryStream stream = new MemoryStream(byteArray);

                return serializer.Deserialize(stream) as T;
            }
        }

2. 將Entity物件Serialize成某個xml檔案

            XmlSerializer serializer = new XmlSerializer(typeof(MyXmlEntity));
            var o = new MyXmlEntity { 屬性初始化 };
            serializer.Serialize(File.OpenWrite(@".\MyXml.xml"), o);

 


點部落-In Joey

↑ Grab this Headline Animator


關連文章

[Visual Studio]快速建立自己的project template

[PowerShell]顯示某資料夾的size

[ASP.NET]如何透過動態新增的控制項,再去動態新增控制項

[ASP.NET]重構之路系列v2 – DRY & Top-Down思考方式

回應

  • # re: [Memo]將XML轉為對應的Entity by Linus

    91哥你好:
    我最近剛好有在使用Entity Framework,想請教一下你提供的程式碼是否可以使用在多階層的XML上呢?以及它的效能是否會比 Linq to Xml 來得好?
    煩請指教。

    2011/6/16 下午 11:50 | 回覆

  • # re: [Memo]將XML轉為對應的Entity by 91

    to Linus :

    實際單就取值的話,我自己覺得Linq to XML應該會比較快。

    但是XML畢竟就是一堆被格式化的字串而已,只要有要對該值進行其他的處理,我就會prefer先想辦法mapping到Entity上,這樣才能用OO的方式去設計我們的系統。

     

    2011/6/18 上午 09:25 | 回覆

登入後使用進階評論

Please add 6 and 1 and type the answer here: