//Имя справочника для примера
ИмяСправочника = "Номенклатура";
/////////////////////////////////////////////////////////////////////////
//Выгрузка
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
//записываем объявление xml файла: <?xml version="1.0"?>
Запись.ЗаписатьОбъявлениеXML();
//записываем корневой элемент, по спецификации xml он может быть только один, назовем его "Данные"
Запись.ЗаписатьНачалоЭлемента("Данные");
//для того чтобы пространства имен не объявлялись сериализатором в кажом элементе, пишем их в корневой элемент
//они будут работать на все вложеные элементы
//пространство имен по-умолчанию
Запись.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config");
//пространства имен остальные префиксы
Запись.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
//ограничение количества выгружаемых элементов для примера
Кол = 4;
Выборка = Справочники[ИмяСправочника].Выбрать();
Пока Выборка.Следующий() Цикл
//вместо этого кода в боевой реализации выгрузки будет создание ОбъектаXDTO и его сериализация
//через ФабрикуXDTO и загруженные в нее схемы конфигурации приемника
СериализаторXDTO.ЗаписатьXML(Запись, Выборка.ПолучитьОбъект());
//
Кол = Кол - 1;
Если Кол=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
//записываем конец корневого элемента
Запись.ЗаписатьКонецЭлемента();
//покажем что получилось
Текст = Запись.Закрыть();
Сообщить("Содержимое файла:");
Сообщить(Текст);
//а теперь загрузим это обратно
/////////////////////////////////////////////////////////////////////////
//Загрузка
Сообщить("Данные полученные при загрузке:");
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(Текст);
//прочитаем начало xml файла
Чтение.ПерейтиКСодержимому();
//прочитаем начало корневого элемента
Чтение.Прочитать();
//читаем содержимое пока текущим не станет конец корневого элемента, т.к. мы писали туда только целые элементы справочника,
//а сериализатор читает каждый из их полностью, то мы упремся именно в конец корневого
Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл
//читаем очередной элемент справочника
Объект = СериализаторXDTO.ПрочитатьXML(Чтение);
//покажем что прочитали, осталось только записать объект
Сообщить(""+ТипЗнч(Объект)+" - "+Объект);
КонецЦикла;
Чтение.Закрыть();
//Имя справочника для примера
ИмяСправочника = "Номенклатура";
/////////////////////////////////////////////////////////////////////////
//Выгрузка
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
//записываем объявление xml файла: <?xml version="1.0"?>
Запись.ЗаписатьОбъявлениеXML();
//записываем корневой элемент, по спецификации xml он может быть только один, назовем его "Данные"
Запись.ЗаписатьНачалоЭлемента("Данные");
//для того чтобы пространства имен не объявлялись сериализатором в кажом элементе, пишем их в корневой элемент
//они будут работать на все вложеные элементы
//пространство имен по-умолчанию
Запись.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config");
//пространства имен остальные префиксы
Запись.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
//ограничение количества выгружаемых элементов для примера
Кол = 4;
Выборка = Справочники[ИмяСправочника].Выбрать();
Пока Выборка.Следующий() Цикл
//вместо этого кода в боевой реализации выгрузки будет создание ОбъектаXDTO и его сериализация
//через ФабрикуXDTO и загруженные в нее схемы конфигурации приемника
СериализаторXDTO.ЗаписатьXML(Запись, Выборка.ПолучитьОбъект());
//
Кол = Кол - 1;
Если Кол=0 Тогда
Прервать;
КонецЕсли;
КонецЦикла;
//записываем конец корневого элемента
Запись.ЗаписатьКонецЭлемента();
//покажем что получилось
Текст = Запись.Закрыть();
Сообщить("Содержимое файла:");
Сообщить(Текст);
//а теперь загрузим это обратно
/////////////////////////////////////////////////////////////////////////
//Загрузка
Сообщить("Данные полученные при загрузке:");
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(Текст);
//прочитаем начало xml файла
Чтение.ПерейтиКСодержимому();
//прочитаем начало корневого элемента
Чтение.Прочитать();
//читаем содержимое пока текущим не станет конец корневого элемента, т.к. мы писали туда только целые элементы справочника,
//а сериализатор читает каждый из их полностью, то мы упремся именно в конец корневого
Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл
//читаем очередной элемент справочника
Объект = СериализаторXDTO.ПрочитатьXML(Чтение);
//покажем что прочитали, осталось только записать объект
Сообщить(""+ТипЗнч(Объект)+" - "+Объект);
КонецЦикла;
Чтение.Закрыть();
Недостаточно рейтинга для добавления отрицательного голоса. Шаблон будет скрыт из ваших результатов поиска.
Орфографическая ошибка в сериализатором: сериализатором
Орфографическая ошибка в кажом: кажом
Орфографическая ошибка в вложеные: вложеные
Орфографическая ошибка в сериализация: сериализация