Сегодня 3 июня, понедельник ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7274
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
coding4.net
coding4.net
Голосов: 1
Адрес блога: http://www.coding4.net/
Добавлен: 2012-06-11 20:16:46
 

Как сериализовать и десериализовать объекты в XML на C# ?

2014-12-16 16:47:00 (читать в оригинале)


C#

Часто возникает вопрос у начинающих программистов и не только как удобно сериализовать объекты в XML на C#. Есть несколько постов на разных известных ресурсах. Но, все равно возникают вопросы и проблемы с кодировками. Чтобы не тратить массу времени ищущим, я в этом посте покажу как это делать с учетом кодировки. Тут используется generic. Но вам, конечно, никто не мешает делать без него. Просто в той задаче для которой делалось это было удобно. Можно серализовать/десериализовать и другими методами. Но эта реализация меня во всем устроила и я ее использовал несколько раз.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using System.Xml;

namespace SomeNamespace
{
    internal static class SomeConfigurationSerializer
        where CONF_CLASS : class
    {
        public static CONF_CLASS String2Configuration(String source)
        {
            if (string.IsNullOrEmpty(source))
            {
                return null;
            }

            XmlSerializer serializer = new XmlSerializer(typeof(CONF_CLASS));
            UTF8Encoding encoding = new UTF8Encoding();
            Byte[] dataInBytes = encoding.GetBytes(source);
            using (MemoryStream stream = new MemoryStream(dataInBytes))
            {
                XmlTextReader xtr = new XmlTextReader(stream);
                CONF_CLASS result = (CONF_CLASS) serializer.Deserialize(xtr);
                return result;
            }
        }
        public static String Configuration2String(CONF_CLASS source) 
        {
            String result = null;
            XmlSerializer serializer = new XmlSerializer(typeof(CONF_CLASS));
            using (MemoryStream stream = new MemoryStream())
            {
                XmlTextWriter xtw = new XmlTextWriter(stream, Encoding.UTF8);
                serializer.Serialize(xtw, source);
                result = Encoding.UTF8.GetString(stream.ToArray());
            }            

            return result;
        }
    }
}

Тэги: (решение), сделать

 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.