Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Merhaba arkadaşlar, geçenlerde ihtiyaç duymuştum paylaşayım dedim. Şöyleki, Elimde bir formlar ilgili Serializable bir Collection-Class'ı var. Class Database'de saklamak istiyorum. Yani XML veya Binary serialization yapıp, sonucuda database'e yazacağım.
  Serialize işlemini herkes yapıyor. Aşağıdaki kodlar, serialize işlemi yapıyor, ve string olarak sonuç üretiyor.
  
/// <summary>
        /// Method to convert a custom Object to XML string
        /// </summary>
        /// <param name="o">Object that is to be serialized to XML</param>
        /// <param name="type">Type that is the type of of the serialized object</param>
        /// <returns>XML string in result.value</returns>
        public static string SerializeObjectToString(object o, Type type)
        {
                String XmlizedString = null;
                MemoryStream memoryStream = new MemoryStream();
                XmlSerializer xs = new XmlSerializer(type);
                XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);

                xs.Serialize(xmlTextWriter, o);
                memoryStream = (MemoryStream)xmlTextWriter.BaseStream;
                XmlizedString = UTF8ByteArrayToString(memoryStream.ToArray());
                return XmlizedString;
          
        }

        /// <summary>
        /// Method to reconstruct an Object from XML string
        /// </summary>
        /// <param name="XmlizedString"></param>
        /// <param name="type">Type that is the type of of the serialized object</param>
        /// <returns></returns>
        public static object DeserializeObject(String XmlizedString, Type type)
        {
                XmlSerializer xs = new XmlSerializer(type);
                MemoryStream memoryStream = new MemoryStream(StringToUTF8ByteArray(XmlizedString));
                XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);

                return xs.Deserialize(memoryStream);
          }

         /// <summary>
        /// To convert a Byte Array of Unicode values (UTF-8 encoded) to a complete String.
        /// </summary>
        /// <param name="chrs"Unicode Byte Array to convert to String</param>
        /// <returns>String converted from Unicode Byte Array</returns>
        private static String UTF8ByteArrayToString(byte[] chrs)
        {
            UTF8Encoding encoding = new UTF8Encoding();
            String newString = encoding.GetString(chrs);
            return (newString);
        }

        /// <summary>
        /// Converts the String to UTF8 Byte array and is used in Deserialization
        /// </summary>
        /// <param name="XmlString"></param>
        /// <returns></returns>
        private static Byte[] StringToUTF8ByteArray(string XmlString)
        {
            UTF8Encoding encoding = new UTF8Encoding();
            Byte[] byteArray = encoding.GetBytes(XmlString);
            return byteArray;
        }

haydar
03 Haziran 2006 09:35
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.
© 2005, Bilişim Kulübü. (1125 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen